Ⅰ Matlab中eval函數的使用方法。
eval()函數的用法就是將括弧內的字元串視為語句並運行,具體如下:
1、假如我要對a1,a2,a3,a4,……,a100分別賦予1,2,3,……,100,這時eval就發揮作用了。
for i=1:100
eval(['a' num2str(i) '=' num2str(i)]);
end
2、再比如批量存數據或圖片文件等等。
那麼開始提到的例子也就好解釋了。
注意:eval中的中括弧在兩個以上字元串出現時一定要有,起連接作用。
如:
input:[『hello』 『world』]
output:helloworld
eval命令在Linux下的應用非常廣泛
1、eval會把賦值語句中雙引號之間的內容直接賦給『=』前的變數,而不是當作字元串賦給變數
例如:
version="(2 4)" 是將字元串賦值給 version;
eval version="(2 4)" 執行時變成了 version=(2 4), 是把數組 (2 4) 賦值給 version
2、當在一個賦值語句的前面加上 eval 時,它就會將 後面表達式中以 $ 開頭的所有變數進行整體替換
例如:
var1="1234 4556"
tmp=var
eval test="$"$tmp"1"
echo $test
那麼就會在屏幕上顯示出 :
1234 4556
Ⅱ matlab中的sim函數的運用方法是什麼
sim函數用來運行Simulink模型。需要注意的是,用戶無法控制其模擬過程(例如暫停、繼續),一旦運行就會直到達到結束條件為止——這一點和通過模型窗口界面運行模擬不同。
調用格式:
[t,x,y]=sim(model,timespan,options,ut);
[t,x,y1,y2,...,yn]=sim(model,timespan,options,ut);
輸入參數:
model:模型的名字,用單引號括起來(注意不帶擴展名.mdl);
timespan:指定模擬時間范圍,可以有幾種情況:
標量tFinal,指定模擬結束時間。這種情況下開始時間為0;
兩個元素的向量[tStarttFinal],同時指定開始時間和結束時間;
向量[tStartOutputTimestFinal],除起止時間外,還指定輸出時間點(通常輸出時間t會包含更多點,這里指定的點相當於附加的點)。
options:指定模擬選項,是一個結構體,該結構體通過simset創建,包括模型求解器、誤差控制等都可以通過這個參數指定(不修改模型,但使用和模型對話框里設置的不同選擇)。
ut:指定外部輸入,對應於根模型的Inport模塊。
除第一個輸入參數外,其他參數都可以用空矩陣([])來表示模型的默認值。
輸出參數:
t:模擬時間向量;
x:狀態矩陣,每行對應一個時刻的狀態,連續狀態在前,離散狀態在後;
y:輸出矩陣,每行對應一個時刻;每列對應根模型的一個Outport模塊(如果Outport模塊的輸入是向量,則在y中會佔用相應的列數)。
y1,y2,...,yn:把上面的y分開,每個yi對應一個Outport模塊。
打字很辛苦,感覺有用就採納了吧。有問題可以繼續追問。
Ⅲ matlab中num2str函數如何使用
在matlab中num2str的作用是將數字轉換為字元數組。
它的語法為:
s = num2str(A)s = num2str(A,precision)s = num2str(A,formatSpec)
其中,
s = num2str(A) 將數值數組轉換為表示數字的字元數組。輸出格式取決於原始值的量級。
s = num2str(A,precision) 返回表示數字的字元數組,最大有效位數由 precision 指定。
s = num2str(A,formatSpec) 將 formatSpec 指定的格式應用到 A 所有元素。
擴展閱讀:
MATLAB是美國MathWorks公司出品的商業數學軟體,用於演算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和互動式環境,主要包括MATLAB和Simulink兩大部分。
MATLAB是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。
參考資料: MathWorks中國 - MATLAB官方支持文檔 - num2str
Ⅳ matlab的function函數怎麼用
1.新建一個m文件,把function函數復制進去;然後保存(名稱應該是自動生成的,即為sinh.m,不過最好不要用和系統中的文件一樣的名稱,可以先help查看一下matlab是否有和sinh重復的名稱,若有的話,得把function函數改個名稱),保存的地址為當前工作目錄。
2.在命令窗口調用function函數:
sinh(5)
即可
Ⅳ 如何使用matlab繪制函數曲線
第一種方法:通過命令框實現
1.建立矩陣,x=-10:0.1:10
(即建立一個從-10到10的,跨度為0.1的矩陣x)
2.寫出函數表達式y=sin(x)
(此處函數表達式可隨意,但要注意函數表達式要按規則)
3.繪制函數plot(x,y,'-r')
(繪制x,y的函數圖像,'-r'即為函數圖像用紅色表示)
第二種方法:用m文件繪制
1.建立一個m文件
2.將第一步的代碼輸進m文件,注意每個代碼最後都需要加分號
3.運行m文件即可繪制函數圖像
具體還可以參照以下網址
Ⅵ 在matlab中怎麼直接調用函數
在matlab中,如果是matlab自帶的函數,則可以按照該函數的格式直接調用,如果是自己編寫的函數,可以將函數寫在一個文件中,之後再主文件中調用
Ⅶ matlab怎麼定義函數啊
自定義函數的途徑:
M文件函數(M file function)
在線函數(Inline Function)
匿名函數(Anonymous Function)
1.M文件函數
範例
function c=myadd(a,b)
%這里可以寫函數的使用說明,前面以%開頭
%在工作區中,help myadd將顯示此處的說明
c=a+b;
%end %非必須的
第一行function告訴Matlab這是一個函數,a,b是輸入,c是輸出,myadd是函數名。以m文件定義的函數必須保存為函數名的形式,上例中,函數應保存為myadd.m。要使用myadd函數,該函數必須在Matlab的搜索路徑中。
調用方式:
在Matlab命令符後輸入
a=1;b=2;
c=myadd(a,b)
關於m文件定義函數還有許多的說明,暫時略去。。。
2.在線函數(Inline Function)
通常作為參數傳遞給另外一個函數。比如fminsearch,lsqcurvefit等函數需要以函數作為參數。
在線函數從字元串表達式創建函數,例如:
f=inline('x.^2','x');
創建了函數f(x)=x^2。要計算f(3),在工作區輸入f(3)即可。f([2 3 4])計算在x=2 3 4時的值
f=inline('x+y','x','y')
創建了二元函數f(x,y)=x+y,工作區輸入f(2,3)計算2+3,等同於feval_r(f,2,3)。
3.匿名函數(Anonymous Function)
匿名函數使用函數句柄來表示匿名函數,定義形式為
函數句柄=@(變數名) 函數表達式
例如:
f=@(x) x.^2
定義了函數f(x)=x^2,f(2)計算在x=2處的值。
匿名函數可以調用Matlab函數,也可以使用工作區中存在的變數,例如
a=2;
f=@(x) x.^2+a
f(2) %計算時引用了變數a
a=0;
f(2) %仍然引用的是a=2
匿名函數也可以由Matlab的內置函數或M文件函數創建,例如
f=@sin %f(x)=sin(x)
f(pi/2) %sin(pi/2)
functions(f) %查看函數信息
利用單元數組可以創建多個函數的句柄,例如
f={@sin @cos}
f{1}(pi/2) %計算sin(pi/2)
f{2}(pi) %計算cos(pi)
函數句柄的另一個重要特徵是可以用來表示子函數、私有函數和嵌套函數。
Matlab 7以後,建議以匿名函數取代在線函數!!!
在創建匿名函數時,Matlab記錄了關於函數的信息,當使用句柄調用該函數的時候,Matlab不再進行搜索,而是立即執行該函數,極大提高了效率。
Ⅷ matlab函數function怎麼使用
function用來定義函數,一般一個函數放在一個.m文件里。舉個簡單的例子建立一個myfunction.m,然後在文件中寫。
function y=myfunction(a,b)
其中a,b是輸入函數的參數,y是函數返回的值。當需要返回多個值時,可以將y看作一個數組,或者直接將函數的開頭寫成如function [x,y]=myfunction(x,y)的形式。
然後就是定義函數的內容,通俗的說就是怎樣由輸入參數a,b得到返回值y。比如最簡單的y=a+b。
總結一下,將下面的代碼
function y=myfunction(a,b)
y=a+b;
保存為一個m文件myfunction.m,調用方式如下。
num=myfunction(3,4);
這樣就可以由函數中的y=a+b得到num的值是3+4=7。
以上是最簡單的例子,不知說清楚沒有,如不清楚可以直接hi我。