MatLab學習筆記(3) 2020 3 5

2021-10-03 13:10:42 字數 1896 閱讀 9839

形如fx = xx + bx + c 的二次函式在關鍵點xc = -b/2處達到最小值。計算函式f在區間【l,r】上的最小值做一些判斷。如果xc在這個區間內,則f(xc)就是問題的解,否則函式f在x=l或x=r處達到最小值。

寫一段指令碼程式,接收實數l,r,b和c的輸入,然後輸出二次函式fx = xx + bx + c在區間【l,r】上的最小值。這個程式也應該顯示這個最小值對應的x值。

% script eg1_2

% minimum of the quadratic x^

2+ bx + c on the interval [l,r]

.% acquire and display the input data...

b =input

('enter b:');

c =input

('enter c:');

l =input

('enter l:');

r =input

('enter r (l)

;clc

fprintf

('quadratic: x^2 + bx + c, b = %5.2f, c = %5.2f\n'

,b,c)

fprintf

('interval : [l,r], l = %5.2f, r = %5.2f\n\n'

,l,r)

% the critical point...

xc =

-b/2

;if xc < l

% minimum at the left endpoint...

fl = l^

2+ b*l + c;

fprintf

('minimizing x = %5.2f\n'

,l)fprintf

('minimum f value = %5.2f\n'

,fl)

elseif l <= xc && xc <= r

% minimum at the critical point...

fxc = c -

(b/2)^

2;fprintf

('minimizing x = %5.2f\n'

,xc)

fprintf

('minimum f value = %5.2f\n'

,fxc)

else

% minimum at the right endpoint...

fr = r^

2+ b*r + c;

fprintf

('minimizing x = %5.2f\n'

,r)fprintf

('minimum f value = %5.2f\n'

,fr)

end

max(算術表示式1,算術表示式2)

的結果是計算兩個表示式後得到較大的值,函式min的值正好是相反的。

floor(x)為小於或等於x值得最大整數。

ceil(x)為大於或等於x值得最小整數。

round(x)是最接近x值得整數,如果恰好在兩個整數的正中間,round(x)的結果是離零較遠的那個數。

如果x和y的值為正整數,則rem(x,y)為x除以y得到餘數,所以rem(22,7)的值為1.函式rem也可應用於任意的實數。

~= 為不等於。

就像算術運算子一樣,關係與邏輯運算子也有優先順序。非運算(?)的優先順序最高,接下來是關係運算子(例如<,==,~=等等)然後是「與」運算子,最後是「或」運算子。

在同一級的運算子中,採用從左到右的先後順序,但可通過括號改變順序。例如,為了確定x是否在3和7之間,你必須使用「與」操作將兩個比較運算連起來。

3

matlab學習筆記

一致化矩陣 z1 1 2 4 3 4 1 z2 1 2 2 5 6 1 b 0 1 q 3 z concur b,q 向量之和 x1 netsum z1,z2 向量之積 x2 netprod z1,z2 感知器神經網路,完成 或 的計算 err goal 0.001 max epoch 500 x ...

MATLAB學習筆記

1.自由探索之恢復 如果不小心關閉了當前路徑視窗 命令歷史記錄視窗或命令視窗,可以通過選單欄的 desktop 選單中 desktoplayout default 恢復。2.開啟簡單的圖形視窗 在命令視窗中的 後面輸入 funtool 並按回車鍵。3.注釋 命令列中的百分號 起注釋的作用,matla...

matlab學習筆記

最近要做 了,菜鳥也得學習matlab了,也不知道怎麼開始學習,就還是使用例子來學習所有的知識吧。然後遇到的問題在這記下來,也算是做筆記,加深印象吧。1 mat l a b繪製一條引數曲線 x cost sin3t y sintcost cos3t 解答 首先定義t的範圍t 0 pi pi 100 ...