簡體   English   中英

如何在MATLAB中查找函數的值?

[英]How to find a value of a function in MATLAB?

我剛剛開始使用MATLAB,因此我並不熟悉MATLAB本身。 我的示例代碼如下:

function Problem1 = BisectionMethod1()
    a = input('enter function:', 's');
    f = inline(a);
    iteration_counter = 0;
    al = input('enter left bound: ');
    ar = input('enter right bound: ');
    break;
    disp(f('al'))
    disp(f('ar'))

當我將a設置為x + 1並將左邊界和右邊界設置為1和2時,它將正確顯示f(al)和f(ar)。

當我在“ x”前面有一個系數時,問題似乎開始了。

例如,當我將a設置為2x + 1並將左右邊界設置為1和2時,MATLAB會給我錯誤。

就像我說的那樣,我是MATLAB新手,有什么辦法可以解決這個問題?

我需要說明的一點是,乘法需要*運算符。 通過執行2x ,MATLAB會將其解釋為名為2x的變量,並且MATLAB不支持在數字前面的變量。 因此,您需要做2*x + 1 另外,您需要刪除break語句。 如果將其保留,則代碼將過早退出。

另外,只需在調用f時刪除單引號。 您輸入的是變量,而不是變量本身的實際名稱。 因此,您將執行以下操作:

disp(f(al));
disp(f(ar));

使用您的代碼,我得到的是:

>> a = input('enter function:', 's');
enter function:2*x + 1
>> f = inline(a);
>> al = input('enter left bound:');
enter left bound:1
>> ar = input('enter right bound:');
enter right bound:2;
>> disp(f(al))
     3

>> disp(f(ar))
     5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM