MATLAB【函数和图像】
目錄
一、常用的數學函數
1.函數表示的幾種寫法?
1.將函數變量定義為符號變量
2.使用function命令
3.使用匿名函數
?二、分段函數的表示
?三、使用函數繪制圖形
1.繪制絕對值的函數圖像
2.繪制取整函數的圖像
3.繪制分段函數?
?4.繪制正態分布曲線
5.繪制符號函數?
6.繪制正負數的立方根?
7.如何繪制含有無窮的圖
8.如何繪制隱函數?
如何設置ezplot的格式???????
9.使用meshgrid繪制多個函數
?10.求反函數
?11.求復合函數
1.使用compose求復合函數
2.使用subs求復合函數?
?12.含有調制曲線的圖像
?13.自動求解方程
一、常用的數學函數
| 名??稱 | 含??義 | 名??稱 | 含??義 | 名??稱 | 含??義 |
| abs | 絕對值 | asin | 反正弦 | coth | 雙曲余切 |
| exp | 指數 | acos | 反余弦 | asinh | 反雙曲正弦 |
| log | 對數 | atan | 反正切 | acosh | 反雙曲余弦 |
| log10 | 10為底對數 | acot | 反余切 | atanh | 反雙曲正切 |
| log2 | 2為底對數 | sec | 正割 | acoth | 反雙曲余切 |
| pow2 | 2次冪 | csc | 余割 | sech | 雙曲正割 |
| sqrt | 平方根 | asec | 反正割 | csch | 雙曲余割 |
| sin | 正弦 | acsc | 反余割 | asech | 反雙曲正割 |
| cos | 余弦 | sinh | 雙曲正弦 | acsch | 反雙曲余割 |
| tan | 正切 | cosh | 雙曲余弦 | ||
| cot | 余切 | tanh | 雙曲正切 |
簡單舉例
?
1.函數表示的幾種寫法?
1.將函數變量定義為符號變量
syms x fx=sqrt(1+x^2);2.使用function命令
function f=myfun(x) f=(3-2.*x).^2.*x;3.使用匿名函數
fx=@(x) (x+10)?二、分段函數的表示
使用if-else判斷能夠幫助我們實現分段函數
function y= w(x)if x<0y=x+2;elsey=x-3;end end?三、使用函數繪制圖形
1.繪制絕對值的函數圖像
#清屏 clear #將我們的x設置為變量 syms x #使用匿名方法創建我們的y y=@(x) abs(x); #使用fplot,第一個參數為我們的方法,第二個參數為我們的自變量x的范圍 fplot(y,[-5,5]) #保持我們當前的圖不被重置 hold on #設置我們的x軸標簽 xlabel('x') #設置我們的y軸標簽 ylabel('y') #設置我們的整張圖的標簽 title('y|x|')?
2.繪制取整函數的圖像
clear syms x y=@(x) floor(x); fplot(y,[-5,5]) hold on xlabel('x') ylabel('y')3.繪制分段函數?
clear syms x y y1=@(x) 2*sqrt(x); #第三個參數為我們的繪制圖線的樣式 fplot(y1,[0,1], '-b') hold on y2=@(x) 1+x; fplot(y2,[1,5], '--og') #設置我們的圖例 legend('y=2*sqrt(x) ', 'y=1+x'); title('分段函數') xlabel('x') ylabel('y') #設置我們的坐標軸的范圍,第一個參數和第二個參數表示x軸的范圍 #第三個參數和第四個參數表示y軸的范圍 axis([0,5,0,5])?4.繪制正態分布曲線
clear x=-2:0.01:2; y=(1/sqrt(2*pi))*exp(-x.^2/2); #plot函數將我們的x,y傳遞進去就能夠繪圖 plot(x,y) title('正態分布曲線')5.繪制符號函數?
clear #設置我們x軸的最值 xm=5; #設置我們的x取遍從最小值到最大值,并且間隔為0.01 x=-xm:0.01:xm; #sign為我們符號函數 y=sign(x); #將我們x==0時置空,就會形成斷點 y(x==0)=nan; figure #畫圖,并且設置我們的線的寬度為2 plot(x,y,'LineWidth',2) hold on #繪制我們0,1處和0,-1處的兩個空心點 plot(0,1,'o',0,-1,'o'); #在我們的原點處點上一個點 plot(0,0,'.','MarkerSize',24) #給標題命名 title('符號函數','FontSize',16) #設置我們的x軸標簽和y軸標簽 xlabel('\itx','FontSize',16) ylabel('\ity','FontSize',16) #繪制網格線 grid on axis([-xm,xm,-2,2])6.繪制正負數的立方根?
clear %設置x的max范圍 xm=5; %設置我們的x的范圍為從-xm到xm,間距為0.01 x=-xm:0.01:xm; %用對向量中每一個元素的乘法的方式讓y=x的三次方根 y=x.^(1/3); %繪圖 figure %創建兩行一列的圖標,并且將我們下面要畫的圖畫在第一張圖表 subplot(2,1,1) %使用plot方法,并且將我們的對應的x,y值傳入,并且設置我們的畫的線的寬度為2 plot(x,y,'LineWidth',2) %繪制我們的網格線 grid on %給我們的圖表打上標題 title('負數不正確的開立方','FontSize',16) %分別根我們的x,y軸打上標題 xlabel('\itx','FontSize',16) ylabel('\ity','FontSize',16) %因為我們在圖1中發現我們的立方根的負數范圍不正確, %所以我們需要單獨將我們的符號取出來,然后乘以我們的原來函數的絕對值 y=sign(x).*abs(x).^(1/3); subplot(2,1,2) plot(x,y,'LineWidth',2) grid on title('負數正確的開立方','FontSize',16) xlabel('\itx','FontSize',16) ylabel('\ity','FontSize',16)7.如何繪制含有無窮的圖
?如果我們直接這樣繪制我們的tan(x)函數就會出現這樣的情況
clear; x=-5:0.01:5; y=tan(x); plot(x,y,'LineWidth',2)使用ezplot,將我們的公式傳入, 再傳入我們的范圍,就能夠把圖畫出來。
clear; syms x y=tan(x); y=inline(y); ezplot(y,[-2*pi,2*pi]);?
8.如何繪制隱函數?
ezplot還可以繪制隱函數圖像?
clear; syms x ezplot("x^2/4+y^2/6=1");使用axis([x軸下線,x軸上限,y軸下限,y軸上限])?可以指定我們坐標軸的范圍
axis("equal")可以讓我們的坐標軸的x,y軸等距
??
如何設置ezplot的格式
將我們的ezplot之后的結果傳遞給一個參數,然后使用我們的set來設定我們的ezplot畫的圖的類型
clear; syms x h=ezplot("x^2/4+y^2/6=1"); set(h,'color','r','LineWidth',2);?
9.使用meshgrid繪制多個函數
使用meshgrid能夠讓我們的x,y中的數實現一一對應,采用meshgrid能夠讓我們同時繪制多條曲線
%對數函數 clear %清除變量 xm=3; %最大自變量 x=0.1:0.1:xm; %自變量向量 a=[1/exp(1),0.5:0.5:2,exp(1),10]; %底數向量 [A,X]=meshgrid(a,x); %底數和自變量矩陣 Y=log(X)./log(A); %對數函數矩陣 figure %創建圖形窗口 plot(x,Y,'LineWidth',2) %畫函數曲線族 title('對數函數曲線族','FontSize',16) %加標題 xlabel('\itx','FontSize',16) %加橫坐標 ylabel('\ity','FontSize',16) %加縱坐標 grid on %加網格 legend([repmat('\ita\rm=',length(a),1),num2str(a')],4)%復雜圖例 hold on %保持屬性 plot(x,-log(x),'*',x,log(x),'+',x,log10(x),'x')%補畫自然對數和常用對數曲線?10.求反函數
使用y=finverse(y)即可以讓y變成自身的反函數?
syms x y=x^2; z=finverse(y); z?11.求復合函數
1.使用compose求復合函數
g=compose(f,g)
syms x y=x^2; g=sin(x); z=compose(y,g);?
syms x z f=sin(x); g=x^2; compose(g,f) %返回復合函數g(f(y)) compose(g,f,x,z) %返回自變量是z?
2.使用subs求復合函數?
syms x z f=sin(x); g=x^2; subs(g,f) %返回復合函數f(g(y))?12.含有調制曲線的圖像
在一些周期性函數前面,我們可以乘上一些函數來繪制我們的調制曲線,讓我們的函數能夠被約束在兩條調制曲線中。在下面的代碼中我們使用了e^(-x)作為我們的調制曲線
clc clear syms x y=sin(pi*x)*exp(-x); x=-5:0.01:5; y=inline(y); plot(x,y(x),x,exp(-x),x,-exp(-x),'LineWidth',2);?
?13.自動求解方程
syms x a b c %定義符號變量 x1=-2; y1=0; x2=0;y2=1; x3=1; y3=5; %3點的橫、縱坐標 y=a*x^2+b*x+c; %二次符號函數 s1=subs(y,x,x1)-y1 %第1個代數方程 s2=subs(y,x,x2)-y2 %第2個代數方程 s3=subs(y,x,x3)-y3 %第3個代數方程 [a,b,c]=solve(s1,s2,s3)總結
以上是生活随笔為你收集整理的MATLAB【函数和图像】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机专业一级学报,【讨论】计算机类一级
- 下一篇: 看穿 137 亿光年,中国天眼会帮我们找