基于MATLAB的特殊函数与画图(附图像与代码)
一. 可變輸入輸出個數
conv()函數可以計算兩個多項式的積,利用varargin可以實現任意多個多項式的積。
舉例
代碼:
clc;clear; P=[1 2 4 0 5]; Q=[1 2]; F=[1 2 3];%方法一 D1=convs(P,Q,F) D1_sym=poly2sym(D1)%方法二 D2=conv(conv(P,Q),F) D2_sym=poly2sym(D2)function a=convs(varargin) a=1; for i=1:length(varargin),a=conv(a,varargin{i}); end end運行結果:
D1 = 1 6 19 36 45 44 35 30
?
D1_sym =x^7 + 6*x^6 + 19*x^5 + 36*x^4 + 45*x^3 + 44*x^2 + 35*x + 30
?
D2 = 1 6 19 36 45 44 35 30
?
D2_sym =x^7 + 6*x^6 + 19*x^5 + 36*x^4 + 45*x^3 + 44*x^2 + 35*x + 30
二. 幾個特殊函數
2.1 inline函數
可以免去文件,格式如下:
fun=inline('函數內容',自變量列表)例題1
計算:
解:
MATLAB代碼:
f=inline('sin(x.^2+y.^2)','x','y'); f(2,3)運行結果:
ans =0.4202
2.2 匿名函數
f=@(x,y)sin(x.^2+y.^2) %f=@(變量列表)函數內容2.3 feval函數
MATLAB提供的feval()函數是用來執(zhí)行函數操作的函數,故有“函數的函數”之稱,格式:
%格式1 [y1,y2,···]=feval(fhandle,x1,···,xn) y=feval(@sin,2) %fhandle是函數句柄,函數句柄是一種數據類型,以@引導%格式2 [y1,y2,···]=feval(function,x1,···,xn) y=feval('sin',2) %function是函數名 %x1,x2···,xn是輸入參數 %y1,y2···,yn是輸出參數舉例
clc;clear; syms t; f=@(x,y)x^2+y^2; k1=feval(f,1,t) k2=f(1,t)運行結果:
k1 =t^2 + 1
?
k2 =t^2 + 1
?
三. 繪制二維圖像
已知:
構造向量:
畫圖格式:
plot(t,y)曲線的性質,如線型、粗細、顏色等,還可以使用下面的命令進行指定
plot(t1,y1,選項1,t2,y2,選項2,···,tm,ym,選項m)總結如下常用選項:
| 曲線線型 | 曲線顏色 | 標記符號 |
| '-' | 'b' | '*' |
| '--' | 'g' | '.' |
| ':' | 'm' | 'x' |
| '-.' | 'w' | 'v' |
| 'none' | 'c' | 'hexagram' |
| 'k' | '>' | |
| 'r' | 'pentagram' | |
| 'y' | 'o' | |
| '^' | 'square' | |
| 'diamond' | ||
| '<' |
例題2
對以下函數畫圖:
解:
MATLAB代碼:
clc;clear; x=[-pi:0.05:pi]; %以0.05為步距構造自變量向量 y=sin(tan(x))-tan(sin(x)); %求出各個點上的函數值 plot(x,y) figure, plot(x,y,'r-.Pentagram') %紅色 劃線 每個轉折點用五角星表示運行結果:
四. 特殊命令畫圖
fplot()函數通過其內部的自適應算法來動態(tài)決定自變量的間隔,調用格式:
fplot(fun,limits,LineSpec)?舉例
fplot(@(x1)sin(tan(x1))-tan(sin(x1)),[-pi,pi])運行結果:
函數ezplot無需數據準備,可以畫出隱函數。
?
隱函數:形如f(x,y)=0這種不能寫出y=f(x)函數
調用格式:
ezplot(f) %f是字符串或代表數學函數的符號表達式?舉例
代碼:
ezplot('sin(tan(x))-tan(sin(x))')運行結果:
例題3
畫圖:
解:
MATLAB代碼:
clc;clear;%方法一 x=[-2:0.02:2]; %生成自變量向量 y=1.1*sign(x).*(abs(x)>1.1)+x.*(abs(x)<=1.1); plot(x,y)%方法二 figure, plot([-2,-1.1,1.1,2],[-1.1,-1.1,1.1,1.1])?運行結果:
五.? 圖形元素屬性獲取與修改
圖形中,每條曲線、坐標軸、圖形窗口分別是一個對象。可用set()函數設置對象的屬性,用get函數獲得對象的某個屬性:
set(句柄,'屬性名1',屬性值1···,'屬性名2',屬性值2,···)v=get(句柄,'屬性名')這兩個語句在界面編程中很有用。圖形句柄和圖形之間是一種一一對應的關系,簡單來說圖形句柄就是指向了這個圖形的一個變量,通過它可以設定該圖形的各種屬性。
句柄是編程的基礎,一個句柄是指使用一個唯一的整數值,用于標志應用程序中的不同對象和同類對象中的不同實例,例如一個窗口,按鈕,圖標,滾動條,輸出設備,控件或者文件等,應用程序能夠通過句柄訪問相應的對象信息。
總結
以上是生活随笔為你收集整理的基于MATLAB的特殊函数与画图(附图像与代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring方法注入 @Lookup注解
- 下一篇: android 相册 uri空,Andr