MATLAB に基づく特殊関数と描画 (画像とコード付き)

1. 変数の入出力数

conv()関数は 2 つの多項式の積を計算でき、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. いくつかの特別な機能

2.1 インライン関数

ファイルは省略可能で、形式は次のとおりです。

fun=inline('函数内容',自变量列表)

例1

計算します:

f(x,y)=sin(x^2+y^2)

ほどく:

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 胎児関数

MATLAB が提供するfeval()関数は、関数演算を実行するために使用される関数であるため、「関数の関数」と呼ばれます。

%格式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
 

3. 2次元画像を描画する

既知の:

t=t_1,t_2,\cdots,t_n

y=y(t_1),y(t_2),\cdots,y(t_n)

ベクトルを構築します。

t=[t1,t2,\cdots,t_n],\quad y=[y(t_1),y(t_2),\cdots,y(t_n)]

描画形式:

plot(t,y)

線の種類、太さ、色などの曲線のプロパティは、次のコマンドを使用して指定することもできます。

plot(t1,y1,选项1,t2,y2,选项2,···,tm,ym,选项m)

一般的なオプションは次のように要約されます。

湾曲した 曲線の色 マーク記号
「-」 「b」 「*」
「--」 「ぐ」 「。」
':' 「ん」 'バツ'
「-。」 「わ」 「v」
'なし' 「c」 「六芒星」
「k」 '>'
「r」 「五芒星」
「はい」 「お」
'^' '四角'
'ダイヤモンド'
「<」

例 2

次の関数をプロットします。

y=sin(tanx)-tan(sinx),\quad x\in[-\pi,\pi]

ほどく:

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') %红色 划线 每个转折点用五角星表示

操作結果:

4. 特殊コマンドによる描画

fplot()関数は、内部適応アルゴリズムを通じて独立変数の間隔を動的に決定します。呼び出し形式は次​​のとおりです。

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

描画:

y=\begin{cases}1.1sign(x),&|x|>1.1\\x,&|x|\leq1.1 \end{}

ほどく:

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])

 操作結果:

5. グラフィック要素のプロパティの取得と変更

グラフィックスでは、各曲線、座標軸、およびグラフィックス ウィンドウがオブジェクトです。set()関数を使用してオブジェクトのプロパティを設定し、get関数を使用してオブジェクトの特定のプロパティを取得できます。

set(句柄,'属性名1',属性值1···,'属性名2',属性值2,···)

v=get(句柄,'属性名')

これら 2 つのステートメントは、インターフェイス プログラミングに役立ちます。グラフィックハンドルとグラフィックは一対一に対応しており、簡単に言うと、グラフィックハンドルはグラフィックを指す変数であり、これを介してグラフィックの各種属性を設定することができる。

ハンドルはプログラミングの基礎です。ハンドルとは、アプリケーション内のさまざまなオブジェクトや、同じオブジェクトのさまざまなインスタンス (ウィンドウ、ボタン、アイコン、スクロール バー、出力デバイス、コントロールなど) を識別するための一意の整数値の使用を指します。またはファイルなど、アプリケーションはハンドルを通じて対応するオブジェクト情報にアクセスできます。

おすすめ

転載: blog.csdn.net/forest_LL/article/details/124565883