使用fzero与多个参数
153(30天)
显示旧的评论
难以调试的错误……
我有2个脚本:
函数
- script,调用函数使用
我粘贴两个脚本的错误我收到了,我认为问题是(根据错误)。
函数
:
函数F = EXPLICITFUNCTION (x)
F = x (1) + (2) + x (3) - T2;
x (1) * exp (m * L) + x (2) * exp (L - m *) + x (3) - T1;
m - k * (x (1) * * exp (m * L) - x (2) * m * exp (m * L)) + k * (m * (x (1) - x (2))) - x (4);
P * h * ((x (1) * (exp (L * m) - 1)) / m - (x (2) * (1 / exp (L * m) - 1)) / m) - x (4);
结束
脚本
:
% ______________________________
清晰的所有
clc
% ______________________________
T2 = 375;% ........................ K
T1 = 450;% ........................ K
D = 0.003;% ........................米
P =π* D;% ........................米
A_Cond =(π/ 4)* (0.003 - -0.002);% ......... m ^ 2
h = 257.799;% ...................... W / (m ^ 2 * K)
k = 70;% ...................... W / (m * K)
L = 0.03;% ......................米
m =√(h * P) / (k * A_Cond));% ....... (1 / m)
x0 = [15, 12, 450; 12];
fzero (@ (x) MMAE322SUPERFUNCTION (x, T2, T1, m, L, k, P, h), x0)
我收到的错误是:
错误使用fzero(第413行)
第二个参数必须是一个标量或矢量长度2。
错误的MMAE322SCRIPT(19)行
fzero (@ (x) MMAE322SUPERFUNCTION (x, T2, T1, m, L, k, P, h), x0)
我认为这是因为我的猜测,x0。我需要4猜测,一个用于每一个未知变量,但我不知道如何解释这个错误。我试着为了调试消除2猜我x0当然没用. .
我以前做过一个参数和单一猜但比1参数得到了类似的错误。
非常感谢您的帮助!:)
0评论
接受的答案
更多的答案(2)
罗伯特扣
2021年3月6日
另额外的参数(0)可以传递到函数。额外的参数来选择参数后,但你不能离开的选择。使用[]如果没有所需的选项。
在语法有点错误的。试试这个:
x0 = 15;%,但preferrable使用范围(0,30)
fzero (@ (x, T2, T1, m, L, k, P, h) MMAE322SUPERFUNCTION (x, T2, T1, m, L, k, P, h),…
x0, [], T1, T2, m, L, k, P, h);
%会更好的其他参数作为一个向量和向量,解析它的函数
2的评论
约翰D 'Errico
2021年3月6日
编辑:约翰D 'Errico
2021年3月6日
遗憾的是,这完全忽略了一点。虽然它显示了如何通过额外的参数,未知的问题,发布了一个向量。虽然我可以标记你的答案是不正确的,我没有。