這些matlab語句什么意思
你這個函數其實只有3行,省略號表示不換行: function shili01%定義函數名為shili01的函數 h0=figure('toolbar','none', 'position',[198 56 350 300], 'name','實例01');%新建圖像窗口,“工具欄”不顯示,位置大小用[198 56 350 300]界定,名字為“實例01” h1=axes('parent',h0,'visible','off');%在窗口句柄h0的窗口(剛建個窗口)中建立坐標系,可見設為“關”,即不顯示 —————————————————————————————————————— 你可以試一下這兩句的效果: >> h0=figure('toolbar','none', 'position',[198 56 350 300], 'name','實例01'); >> h1=axes('parent',h0,'visible','on'); 運行結果如圖 ------------------------------------------------------------------------------------------------- figure控制畫圖的窗口,比如 figure(1) plot(sin(0:0.1:pi)) figure(2) plot(cos(0:0.1:pi) 就畫了兩個圖像了 句柄變量=axes(屬性名1,屬性值1,屬性名2,屬性值2,…) 調用axes函數用指定的屬性在當前圖形窗口創建坐標軸,并將其句柄賦給左邊的句柄變量。
也可以使用axes 函數按MATLAB缺省的屬性值在當前圖形窗口創建坐標軸: axes 或 句柄變量= axes 用axes 函數建立坐標軸之后,還可以調用axes 函數將之設定為當前坐標軸,且坐標軸所在的圖形窗口自動成為當前圖形窗口: axes(坐標軸句柄) 。
矩陣元素求和的Matlab語句怎么寫
矩陣元素求和的Matlab語句怎么寫?舉例見內sum函數>> x=[2 3 4]x =2 3 4>> sum(x)ans =9Sum函數用法:B = sum(A) 返回數組A不同維數的總和.如果A是一個向量,sum(A) 返回所有元素的總和.如果A是一個矩陣,sum(A) 把A的列作為向量,返回一個包含每一列所有元素的總和的行向量.如果A是一個多維數組,sum(A) 把沒一維看做一個數組,返回一個行向量數組.B = sum(A,dim) * 沿著A的每一維計算總和用指定標量dim,dim是一個從1到N 的整數值,其中N是A的維數.dim為1就是計算A的每一列的總和,2計算A的每一行的總和,以此類推.B = sum(。
,'double')和B = sum(。,dim,'double') 在雙精度下(double)執行相加求和,返回double類型的結果,即使A是single數據類型或者integer數據類型.默認的是integer數據類型.B = sum(。
,'native')和B = sum(。,dim,'native') 在native數據類型下執行相加求和,返回相同類型的結果,默認的是single和double.數據類型.參考資料:綠竹別其三分景 紅梅正報萬家春 春回大地。
}MATLAB語言有什么應用 -
endl;etun0;}MATLAB語言functionyf(x)yf(x);%函數f(t)的表達式i0;%二分次數記數aa;%求根區間左端;%求根區間右端faf(a);%計算f(a)的值ff();%計算f()的值c(a+)2;%計算區間中點fcf(c);%計算區間中點f(c)whileas(fc)ε;%判斷f(c)是否為零點iffa*fc0;%判斷左側區間是否有根fafc;ac;elseffc;c;endc(a+)2;fcf(c);ii+1;endfpintf(\n%s%.6f\t%s%d,c,迭代次數i,i)%計算結果輸出快速排序偽代碼(非隨機)下面的過程實現快速排序:QUICKSORT(A,p,)1ifp2thenq←PARTITION(A,p,)3QUICKSORT(A,p,q1)4QUICKSORT(A,q+1,)為排序一個完整的數組A,最初的調用是QUICKSORT(A,1,length[A])。
求matlab常用函數語句及說明~
另外發給你一個文檔,注意查收matlab常用到的永久變量ans:計算結果的默認變量名。
i j:基本虛數單位。eps:系統的浮點(F10a9Bg個oht):inf: 無限大,例1/0nan NaN:非數值(N航a nmnb謝)pi:圓周率n(n=3.1415926..)。
realmax:系統所能表示的最大數值。realmin: 系統所能表示的最小數值,nargin: 函數的輸入參數個數:nargout:函數的輸出多數個數①matlab的所有運算都定義在復數城上。
對于方根問題運算只返回處于第一象限的解。⑦matlab分別用左斜/和右\來表示“左除和“右除”運算。
對于標量運算而言,這兩者的作用沒有區別:但對于矩陣運算來說,二者將產生不同的結果。多項式的表示方法和運算p(x)=x^3-3x-5 可以表示為p=[1 0 –3 5],求x=5時的值用plotval(p,5)也可以求向量:a=[3 4 5],plotval(p,a)函數roots求多項式的根 roots(p)p=[1 0 -3 5];r=roots(p)由根重組多項式poly(根)q=poly(r)real(q) 有時會產生虛根,這時用real抽取實根即可conv(a,b)函數多項式乘法(執行兩個數組的卷積)a=[1 2 3 4];b=[1 4 9 16];c=conv(a,b)多項式的加減法,低階的多項式必須用首零填補,使其與高階多項式有同樣的階次多項式除法 [q , r]=deconv(c , b) 表示b/c q為商多項式,r為余數多項式的導數 polyder(f)f=[ 2 4 5 6 2 1];s=polyder(f)多項式的曲線擬合x=[1 2 3 4 5];y=[5.6 40 150 250 498.9];p=polyfit(x,y,n) 數據的n次多項式擬合 poly:矩陣的特征多項式、根集對應的多項式x2=1:0.1:5; n取1時,即為最小二乘法y2=polyval(p,x2); 計算多項式的值(polyvalm計算矩陣多項式)plot(x,y,'*',x2,y2);grid on最小二乘法x=[1 2 3 4 5];y=[5.6 40 150 250 498.9];plot(x,y,'*'),lsline多項式插值YI=interp1(x,y,XI,'method') 一維插值(XI為插值點的自變量坐標向量,可以為數組或單個數。
method為選擇插值算法的方法,包括:linear(線性插值)cubic(立方插值)spline(三次樣條插值)nearst(最近臨插值)一維博里葉變換插值使用函數interpft實現,計算含有周期函數值的矢量的傅里葉變換然后使用更多的點進行傅里葉變換的逆變換,函數的使用格式如下:y=interpft(x,n) 其中x是含有周期函數值的矢量,并為等距的點,n為返同等間距點的個數。求解一元函數的最小值y=fminbnd('humps',0.3,1) humps為一內置函數求解多元函數的最小值函數fminserch用于求多元函數的最小值。
它可以指定一個開始的矢量,并非指定一個區間。此函數返回一個矢量為此多元函數局部最小函數值對應的自變量紋理成圖功能由warp函數的紋理成圖功能實現平面圖像在空間三維曲面上的顯示。
將文件名為*的圖像分別投影到圓柱形和球星表面上i=imread('*');[x,y,z]=cylinder;subplot(1,2,1),warp(x,y,z,i);[x,y,z]=sphere(50);subplot(1,2,2),warp(x,y,z,i);warp(x,y,z,i);復制代碼求函數的零點求函數humps在[1,2]區間上的零點 fzero('humps',[1,2]);也可以給一個初始值 fzero('humps',0.9);對于多項式可直接由roots求其根 roots('4*x^3+……');也可以用solvec=sym('c','real');x=sym('x','real');s=solve(x^3-x+c)函數定積分q=quadl('humps',0,1) 求humps函數在0 1區間上的定積分,也可以用quad語句二重積分 首先計算內積分,然后借助內積分的中間結果再求出二重積分的值,類似于積分中的分步積分法。Result=dblquad('integrnd',xin,xmax.,ymin,ymax) integrnd為被積函數的名稱字符串符號積分運算int(f),最精確的是符號積分法計算s=∫12[∫01xydx]dysyms x y 中間為空格,不能為逗號s=int(int('x^y','x',0,1),'y',1,2) 引號可省略vpa(s) 顯示s的值內積分限為函數的二重積分I=∫14[∫√y2(x2+y2)dx]dy符號法I=vpa(int(int('x^2+y^2','x',sqrt(y),2),'y',1,4)微分運算(diff)微分是描述一個函數在一點處的斜率,是函數的微觀性質、因此積分對函數的形狀在小范圍內的改變不敏感,而微分很敏感。
—個函數的小的變化,容易產生相鄰點的斜率的大的改變。由干微分這個固有的困難.所以盡可能避免數值微分.特別是對實驗獲得的數據進行微分。
在這種情況,最好用最小二乘曲線擬合這種數據,然后對所得到的多項式進行微分;或用另一種方法對點數據進行三次樣條擬合,然后尋找樣條微分,但是,有時微分運算是不能避免的,在MATLAB中.用函數diff汁算一個矢量或者矩陣的微分(也可以理解為差分)。a=[1 2 3 3 3 7 8 9];b=diff(a) 一次微分bb=diff(a,2) 二次微分實際上diff(a)=[a(2)-a(1),a(3)-a(2),……,a(n)-a(n-1)]對于求矩陣的微分,即為求各列矢量的微分,從矢量的微分值可以判斷矢量的單調性、是否等間距以及是否有重復的元素。
符號微分運算(diff)syms x t af =cos(a*x)df =diff(f) 由findsym的規則,隱式的指定對x進行微分dfa=diff(f,'a') 指定對變量a進行微分dfa=diff(f,'a',3) 三次微分diff函數不僅作用在標量上,還可以在矩陣上,運算規則就是按矩陣的元素分別進行微分syms a xA=[cos(a*x),sin(a*x),-sin(a*x),cos(a*x)];dA=diff(A)微分方程dsolve在matlab中,符號表達式中包含字母D用來表示微分運算,D2,D3分別對應第二,第三階導數,D2y表示d2y/dt2 把t缺省了y=dsolve('Dy=f(y)') 單個方程,單個輸出[u,v]=dsolve('Du=f(。
關于matlab的一些常用語句
plot 繪制二維圖形
plot3 繪制三維圖形
fplot 繪圖函數
subplot 將當前圖分為若干子圖
errorbar 繪制帶誤差的條形圖
comet,comet3 動態地繪制二維、三維圖形
polar 在極坐標中繪圖
semilogx,semilogy對數繪圖
loglog
quiver,feather, 復數圖形
compass,rose
stem 數據序列圖
hist,bar,stairs 統計頻數直方圖等
圖形控制
figure 創建和顯示圖形
clf 清除圖形
hold 保留當前圖形
subplot 將當前圖形分為若干子圖
clc 清除命令窗口
home 將光標移至開始,如:左上角
axis 坐標軸刻度
zoom 放大或縮小(僅限二維)
grid 顯示或隱藏網格線
title,xlabel,ylabel , 給出基本的文本項
zlabeltext 在某處寫文本
gtext 用鼠標放置文本
ginput 讀坐標
rbbox 移動矩形區域
hidden 顯示或不顯示隱藏的曲面圖
view 觀察點的位置或角度
viewmtx 定義觀察點的矩陣
rot90 旋轉矩陣
曲面圖和等高線圖
contour 等高線圖
contour3 三維等高線圖
clabel 標記等高線
meshgrid 產生網格
cylinder,sphere 特殊的幾何網格
surf 曲面圖
mesh 網格曲面圖
meshc,meshz, 帶有參考線的網格
waterfall 曲面圖
surfl,surfc , 帶有特殊光照,等高線
surfnorm 和法線的曲面圖
pcolor 俯視的曲面圖
fill,fill3 填充多邊形
slice 三個變量的繪圖函數
顏色控制
shading 曲面圖顏色模式
colormap 讀或設置顏色表
colorbar 顯示顏色條
rgb2hsv,hsv2rgb 顏色表的旋轉
caxis 顏色坐標軸的刻度
spinmap 旋轉顏色
brighten 改變顏色映射
contrast 增加對比度
whitebg 背景顏色
graymon 黑色或白色參數
句柄圖形
MATLAB中的圖形是面向對象的。首先有一個根對象,它可能有許多子對象,即圖形。這些圖形可以包含一個或更多的軸、繪圖區域。一個圖形是由繪制在圖形區域中的線條、曲面、補片以及文本對象構成的。每個對象有一個唯一的句柄,通過該句柄可以改變該對象的屬性。
get 獲得屬性
set 設置屬性
gcf,gca,gco 獲得當前圖、坐標軸或對象的句柄
clf,cla 清除當前圖形或坐標軸
close 關閉圖形
delete 刪除對象
rotate 旋轉對象
reset 恢復某一對象的屬性
refresh 刷新圖形
drawnow 更新圖形
newplot 設定下一個圖的屬性
figure 設為當前圖或創建圖形
axes 繪圖區域
line 線對象
text 文本對象
patch 補片填充的多邊形對象
surface 曲面對象
image 圖像對象
capture 位圖拷貝
uimenu 用戶界面菜單
dialog 對話框
errordlg,warndlg,繼承的對話框
matlab語句含義
function open_Callback(hObject, eventdata, handles)
打開 open這個菜單
[name,path]=uigetfile('*.*','');
得到文件路徑和名字
file=[path,name];
把路徑和名字存下來
axes(*1);
坐標,內容是*1
x=imread(file); %讀取圖像
*=x;
把圖像發給*,方便其他函數調用
guidata(hObject, handles);
把handles句柄更新。
imshow(x); %顯示圖像
title('打開');
加標題
后面的同上,類似。
滿意請采納。
在matlab 中if 語句
這個問題有點怪,
第一個問題,如果你是為了顯示的目的,建議你使用字符串的形式,因為matlab自動會把0000省略成0的。
a='0000';
若要用里面的數值,則可用一個函數轉過來str2num(a)=0;
第二個問題,看你的表示應該是判斷吧,可以用下面的語句實現你要的功能:
a=[(a>=10)]
第三個問題,如何把.M文件導成.dat文件,你說的是導出結果數據嗎?我還沒有聽說過直接把M文件變成dat文件。如果是導出數據的話,可以使用fprintf函數。fprintf 使用例子:
x = 0:.1:1; y = [x; exp(x)];
fid = fopen('*','w');
fprintf(fid,'%6.2f %12.8f\n',y);
fclose(fid);