1樓:匿名使用者
你可以編寫一個f.m檔案,內容如下:
function y=f(x)
a=1;
b=1;
c=1;
a1=1;
b1=1;
c1=1;
y=(10*(x+a)*(x+b)*(x+c))/((x+a1)*(x+b1)*(x+c1));
這裡的x就是你設定的值,然後在主視窗中輸入f(1),就可以得到多項式的值。
f.m中a b c a1 b1 c1是我測試時用的,你可以換成自己對應的值~~
2樓:
先移個項,
解10*(x+a)*(x+b)*(x+c)-(x+a1)*(x+b1)*(x+c1)=0方程,要不然運算更長時間。
syms x a b c a1 b1 c1
solve('10*(x+a)*(x+b)*(x+c)-(x+a1)*(x+b1)*(x+c1)')
結果很長,你自己執行一下吧。
順便說句,matlab符號計算能力並不強,如果是數字就先代入數字。
由於你補充了問題,那我也補充下:
你想檢驗等式左邊是否為1;用上面說的subs是可以的。還有個更簡單辦法就是:
syms x a b c a1 b1 c1 y
y=10*(x+a)*(x+b)*(x+c)/((x+a1)*(x+b1)*(x+c1));
a=1;b=1;c=1;a1=1;b1=1;c1=1; %根據需要輸入資料
x=1; %對x給值
y %得出對應的值
每次給個值執行下即行,本質上同subs一樣,但或許更容易理解。
在matlab中用poly2str將陣列轉化為多項式後,怎麼帶入具體數值呢?比方說求x=2的值,用subs函式出錯了
3樓:匿名使用者
poly2str()函式是將多項式轉為字串了,而subs()的第一個引數需要為符號變數,所以出錯。改正方法為:直接使用多項式轉換為符號變數的函式poly2sym(),舉例如下:
matlab哪個命令計算多項式的值
4樓:木生子識時務
matlab中計算多項式的值的命令是polyval。
具體用法如下:
y = polyval(p,x)
p為多項式從高位到低位的係數,x是待計算的變數。
下面這個例子是計算p(x) = 3*x^2 + 1 在 x = 5,7時的值。
p = [3 0 1]; %構造多項式polyval(p,[5 7]) %計算多項式的值計算結果為:
ans =
76 148
5樓:匿名使用者
polyval(p,x)函式用於計算多項式的值:其中p表示一個多項式,x表示要求的點。舉例如下:
>> p = [1,2,1]; % 表示p(x)=x^2+2*x+1>> y = polyval(p,3) % 計算p(3)y = 16
matlab多項式表示式求根
6樓:lzm_君臨天下
^在matlab中,solve函式主要是用來求解代數方程(多項式方程)的符號解專析解
例如:syms a b c x;
solve('a*x^屬2 + b*x + c')結果:
ans =
-(b + (b^2 - 4*a*c)^(1/2))/(2*a)-(b - (b^2 - 4*a*c)^(1/2))/(2*a)如果以b為變數:
syms a b c x;
solve('a*x^2 + b*x + c','b')結果:
ans =
-(a*x^2 + c)/x
如何使用matlab進行含有字母的多項式方程的求解
7樓:匿名使用者
對於相對簡單含有字母的多項式方程,可以用solve()函式求解。如
>> syms x a b c d
>> x=solve(a*x^3+b*x^2+c*x+d)
已知x如何求多項式的值 matlab
8樓:匿名使用者
^a=[1,2,3,1];
poly2sym(a)
polyval(a,2) %求多項式bai在dux=2的值
另一種,zhi以符dao號變內量
syms x
y=x^容3 + 2*x^2 + 3*x + 1;
subs(y,x,2) %x=2的值
如何求多項式的次數,數學中多項式的次數怎麼計算
把這個多項式中的每一個單項式中的指數相加得次數,然後選次數最大的那個次數作為多項式的次數 例如 x 3y x 4y次數 5 x 2 z 2次數 2 多項式中未知數的各項次數最大那個 比如 3xy 2 3xy x 2 3xy 2的次數為3 3xy的次數為2 x 2次數為2 那麼最高次方就為3 付費內容...
c語言 用遞迴法求n階勒讓德多項式的值
保冬萱 如下 include define x 2 float p int n main float p int n 沒有執行果,改了點語法錯誤,你試試,不行追問就行 具體 如下 include main float p int n 1主函式在後 2定義常量在主函式前面 3if的條件我看有點暈,把題...
c語言用遞迴方法求n階勒讓德多項式的值
莫道無情 define crt secure no warnings include include double legendre int n,int x if n 0 return 1 if n 1 return x return 2 n 1 x legendre n 1,x n 1 legen...