使用fzero与多个参数

153(30天)
戴夫
戴夫 2013年1月20日
评论道: 史蒂文的主 2023年6月16日0:41
难以调试的错误……
我有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参数得到了类似的错误。
非常感谢您的帮助!:)

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2013年1月20日
fzero严格()函数的一个参数。你需要 fminsearch ()
8的评论
史蒂文的主
史蒂文的主 2023年6月16日0:41
的文档 fzero 指出,首次输入必须是指定的函数来解决,作为一个纯量值函数处理或这样的函数的名称。 有趣的 接受一个标量 x 并返回一个标量 有趣的(x) ”。最初的问题通过一个函数,它没有满足要求,需要传递一个种基本向量x和返回一个种基本向量作为输出。
这个函数可以接受额外的 固定 参数,但它只能解决一个一元一次方程的系统。解决系统与多个方程或多个未知数您可能希望切换到 fsolve 函数优化工具箱而不是当别人提到过。

登录置评。

更多的答案(2)

托宾Fricke
托宾Fricke 2019年1月12日
使用 fsolve 从优化工具箱。
1评论
罗伯特扣
罗伯特扣 2023年6月15日23:25
我想如果我有工具箱中支付。即使公司美元,我发现每个工具箱的kilobuck价钱有点令人生畏。在降低成本……

登录置评。


罗伯特扣
罗伯特扣 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
约翰D 'Errico 2021年3月6日
编辑:约翰D 'Errico 2021年3月6日
遗憾的是,这完全忽略了一点。虽然它显示了如何通过额外的参数,未知的问题,发布了一个向量。虽然我可以标记你的答案是不正确的,我没有。

登录置评。

类别

找到更多的在循环和条件语句帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!