matlab中符號有什麼作用?尤其是函式引用中有什麼用處

2021-04-18 08:29:00 字數 5852 閱讀 3753

1樓:匿名使用者

punct - function handle creation @

bai@ 在匿名函式中表du示函式控制代碼

例如ln(x),在matlab中是沒zhi有定義的dao,正確表示是log(x);

但如專果要直觀屬表示自然對數,意義用以下語句表示:

ln=@(x) log(x);

執行後,ln(4)=log(4) , 即用ln 替換 log。

以上表示可能無法看出『@』的好處,再看下例:

poly6 = @(x) 8*x.^6+6*x.^5+3*x.^3+x.^2+x+520;

fplot(ploy6,[0,100]);

fzero(ploy6,13);

在這種長且多次呼叫的情況下,用函式控制代碼就可以方便很多。

matlab中的@什麼意思

2樓:匿名使用者

就是呼叫函式,後面的fun代表函式名

3樓:匿名使用者

這是計算精度的問題,不信你輸入 det(inv(a))-1/det(a)便知兩者其實並不完全相等(雖然理論上相等),所以一般判斷兩數相等是以其差小於某個閾值來判斷的

matlab中函式的控制代碼是什麼意思?有什麼作用?最好舉個例子說明!不勝感激!

4樓:匿名使用者

比如定義f(x)=x^2,可以寫為

f=@(x)(x.^2)

其中@(x)(x.^2)就是匿名函式,第

專乙個括號裡面是自變屬量,第二個括號裡面是表示式,@是函式指標f=@(x)(x.^2)表示將匿名函式@(x)(x.^2)賦值給f,於是f就表示該函式。

於是f(2)=2.^2=4;f(1:3)=[1:3].^2=[1 4 9]等等

定義匿名函式時也可以呼叫別的匿名函式,比如f1=@(x,y)(x.^2+y.^2)

定義了函式x^2+y^2

f2=@(t)(f1(t,2))

定義了函式t^2+4

f3=@(x)(f1(x(1),x(2)))定義了函式x(1)^2+x(2)^2

使用匿名函式時一定要注意函式本身的引數形式,如f1(2,3)

表示2^2+3^2

f2(3)=3

表示3^2+4

f3([1,2])

表示1^2+2^2

說白了就是函式指標

5樓:匿名使用者

matlab中函式控制代碼:抄

函式控制代碼是matlab資料型別,包含bai用於du引用函式zhi資訊;

優點:簡化函式實現,dao提高重複效能;

用@來建立函式控制代碼;

詳細的知識如下:

6樓:彷徨的失路人

相當於c語言中的函式指標(入口位址),只不過控制代碼就用乙個唯一的常整數來指出。

matlab中@是什麼意思

7樓:晚夏落飛霜

@是匿名函式的意思。

匿名函式就像傳統程式語言中的內聯函式,在單個matlab語句中定義。 它由單個matlab表示式和任意數量的輸入和輸出引數組成。

可以在matlab命令列或函式或指令碼中定義乙個匿名函式。這樣就可以建立簡單的函式,而無需為它們建立乙個檔案。

從表示式建立匿名函式的語法是:f = @(arglist)expression

定義式:f = @(x1, x2, ...) exper

@後面的括號裡面是自變數,然後跟乙個空格(沒有空格也行),然後跟著關於x1, x2, ...的表示式。

示例:編寫乙個名為power的匿名函式,它將使用兩個數字作為輸入,並將第乙個數字返回到第二個數字的冪值。

建立指令碼檔案並在其中鍵入以下**:

power = @(x, n) x.^n;

result1 = power(7, 3)

result2 = power(49, 0.5)

result3 = power(10, -10)

result4 = power (4.5, 1.5)

當執行該檔案,得到以下結果:

result1 =  343

result2 =  7

result3 =  1.0000e-10

result4 =  9.5459

8樓:熱詞課代表

12指愛人,親人,戀人都可以為「12畫」,同時12也指月滿,象徵著家庭團團圓圓,生活愛情幸福美滿

9樓:匿名使用者

@是匿名函式的意思。

f = @(x)cos(x)+2*sin(x);

@(x)表示以x為變數,cos(x)+2*sin(x)為函式體在別的函式中可以呼叫控制代碼f

比如,fplot(f,[-5,5]);

就是呼叫fplot函式來畫匿名函式f在[-5,5]的圖形。

10樓:天雲一號

"=="是條件運算中的等於運算子,用來判斷「==」左右兩邊的表示式或數值是否相等。若相等,則返回1,;否則,返回0。

在matlab中,"=="與c語言中的等於運算子"=="類似。

舉例說明如下:

a = [1,2,3,3,2,3,2];  % 定義乙個向量a

maxindex = a==max(a); % 確定向量a中最大值所在位置

% max(a)表示取a的最大值,a==max(a)表示向量a中每個元素與max(a)的值進行比較,如果相等,則向量maxindex對應位置1;否則,置0。

% 執行以上程式後,向量maxindex=[0,0,1,1,0,1,0]

11樓:匿名使用者

fullfile函式作用是利用檔案各部分資訊建立並合成完整檔名。

12樓:匿名使用者

通常取模運算(mod)也叫取餘運算(rem),它們返回結果都是餘數。

但rem和mod唯一的區別在於:

當x和y的正負號一樣的時候,兩個函式結果是等同的;當x和y的符號不同時,rem函式結果的符號和x的一樣,而mod和y一樣。

13樓:匿名使用者

x=[2200,1500,600,200,300,700];

[s,r]=max(x);

explore=zeros(1,length(x));

explore(r)=1;

pie3(x,explore);

title('月開支');

legend('住房還貸','飲食費用','文教費','醫藥費用(平均)','交通費','儲蓄')

邁特萊博

14樓:匿名使用者

figure是建立圖形的意思,系統自動從1,2,3,4...來建立圖形,數字代表第幾幅圖形,figure(1),figure(2)就是第一第二副圖的意思,在建立圖形的時候,您注意一下它的標題就是figure1或figure2等等,對應到程式中就是您的例子語句

一般建立新圖只需要乙個figure就行,系統自動建立新圖,可以簡單一點,當然要加上也可以

另外介紹你乙個相關的畫圖的:多子圖,就是一張圖中有好多小圖,也是有標號的

使用以下命令

subplot(m,n,k)

subplot('position',[left bottom width height])

m表示畫幾行

n表示畫幾列

k表示現在畫的是第幾幅圖

15樓:匿名使用者

a=[ ]的意思是a為空矩陣。一般用於矩陣 a 初始化(清零)。

16樓:匿名使用者

例如x=[1 3

2 2]

x(:)表示將矩陣中的資料以一列輸出,即1232;

x(:,:)第乙個冒號表示輸出行,第二個冒號表示輸出列x(:,2)

結果為:32

x(1,:)

結果為1 3

17樓:匿名使用者

:表示遍歷所有,放在行上就是遍歷所有行,放在列上就是遍歷所有列,所以這個式子表達的就是取出所有的a元素,也就是取出a矩陣。

18樓:匿名使用者

表示 f 為函式控制代碼,@是定義控制代碼的運算子。f=@(x)acos(x) 相當於建立了乙個函式檔案:

% f.m

function y=f(x)

y=acos(x);

函式控制代碼的使用方法也和函式是一樣的。

19樓:雨

pascal(n)是矩陣實驗室(matrix laboratory)matlab中的命令,利用pascal()命令可以在矩陣實驗室中方便的得到任意階帕斯卡矩陣。設a為帕斯卡矩陣,則在matlab命令視窗中輸入a=pascal(n),n為正整數,可得到階數為n的帕斯卡矩陣。

帕斯卡矩陣:由楊輝三角形表組成的矩陣稱為帕斯卡(pascal)矩陣。

楊輝三角形表是二次項 (x+y)^n 後的係數隨自然數 n 的增大組成的乙個三角形表。

20樓:匿名使用者

就是「除法」,和/有一點區別:

假設a和b都是矩陣,而且以下運算都有定義,那麼a/b等價於a*inv(b)

b\a等價於inv(b)*a

21樓:高_婷婷

matlab中的 figure 命令,能夠建立乙個用來顯示圖形輸出的乙個視窗物件。每乙個這樣的視窗都有一些屬性,例如視窗的尺寸、位置,等等。總的來說,figure 的使用語法包括:

figure

figure('propertyname',propertyvalue,...)

figure(h)

h = figure(...)

具體用法如下:

它建立乙個視窗,其各種屬性都是使用預設設定。例如它建立的視窗立即成為當前視窗,並顯示在其它視窗之上。直到新的視窗被建立或者其它視窗被喚醒(called)。

figure('name','顯示處理結果');

「position」屬性則指定視窗的大小和位置:

figure('position',[600, 300, 300, 200]);

其中屬性值為乙個四元陣列 rect = [left, bottom, width, height],第

一、二個引數表示視窗位置,都是從螢幕的左下角計算的。

figure(h),則根據引數 h 的不同而表現不同。如果 h 是先前乙個視窗的控制代碼(handle),則figure(h)相當於喚醒了該視窗,使得該視窗為當前視窗;如果 h 並不是某個視窗的控制代碼,但它是乙個整數,則 figure(h) 建立乙個控制代碼為 h 的新視窗。

h = figure(...),相當於前面三種用法中在建立乙個視窗的同時,返回該視窗的控制代碼。

22樓:人間第一渣

figure建立影象

figure,就是控制視窗數量的,舉個例子就明白了直接顯示兩個**:

imshow(a1);

imshow(a2);

則會出現兩個視窗,乙個視窗顯示a1,乙個視窗顯示a2若figure,

imshow(a1);

imshow(a2);

則只會出現乙個視窗,視窗先顯示a1,後顯示a2

23樓:匿名使用者

matlab對陣列或矩陣運算很方便,有時需要的運算是陣列或矩陣中對應元素間的運算,此時就要用到「.」「./」的運算。例如

x=[1 2 3] ;y=[4 5 6];

x.*y=[4 10 18]

x./y=[0.25 0.4 0.5]

matlab中數值運算與符號運算有何異同

數學計算有數值計算與符號計算之分。這兩者的根本區別是 數值計算的表示式 矩陣變數中不允許有未定義的自由變數 而符號計算可以含有未定義的符號變數。對於一般的程式設計軟體如 c,c 等語言實現數值計算還可以 但是實現符號計算並不是一件容易的事。而 matlab 自帶有符號工具箱 symbolic mat...

c 中符號的作用,C 中 並且 用什麼符號

在類裡面 這個事析構函式 如果不加 系統會預設設定乙個析構函式 系統預設設定的析構函式為空值 析構函式的呼叫時這樣的 越早宣告越晚呼叫 例如這個題目 它在建立類b的物件b時,呼叫類b的建構函式 而該建構函式 自動先呼叫 基類的建構函式 當完成 建立物件後 主函式 結束,開始 析構 主函式 然後 析構...

在matlab中cell函式的作用

cell函式在本程式段中起到了定義一個陣列的作用。程式功能 第一句a cell 100,1 意思是定義一個100x1的陣列a for end 是迴圈結構,迴圈體中包含了兩個功能,一是使全域性變數flag減1,二是使a的狀態值返回到一個double型別的1x13的陣列。當全域性變數flag小於零時迴圈...