编写函数数值要求所有系数

1视图(30天)
你好,
我想创建一个函数数值的操作。这就是它看起来像:
zfunctionFSM_万博 尤文图斯solutions = FSM (t、f)
= 2;g_p = 5;g_s = 105;g_a = 0;g = 1;k = 250;
η= 2;P = 0;O_x = 0;O_y = 0;O_z = 0;eta_substract = P *埃塔;
eta_add =“埃塔”;
% f (1) = E_pr;f (2) = E_mr;f (3) = E_pi;f (4) = E_mi;f (5) = N;
% f (6) = m_x;f (7) = m_y;f (8) = m_z;I_p = f (1) ^ 2 + f (3) ^ 2;
% I_m = f (2) ^ 2 + f (4) ^ 2;
FSM_万博 尤文图斯solutions = [k * (f (5) + f (8) 1) * * f (f (1)——(3) -g_a * f (1) + g_p * (4) -O_z * f (3);
k * (f (5) - f (8) 1) * (f (2)——f (4)) * -g_a g_p * * f (2) + (3) + O_z * f (4);
k * (f (5) + f (8) 1) * (f (3) + f (1)) * -g_a * f (3) -g_p * (2) + O_z * f (1);
k * (f (5) - f (8) 1) * (f(4) +一个* f (2)) -g_a * (4) -g_p * f (1) -O_z * f (2);
g * (eta_add - (1 + f (1) ^ 2 + f (3) ^ 2 + (2) ^ 2 + f (4) ^ 2) * f (5) - (f (1) ^ 2 + f (3) ^ 2 - f (2) ^ 2 - f。(4) ^ 2) * f (8));
——(g_s + g * (f (1) ^ 2 + f (3) ^ 2 + (2) ^ 2 + f (4) ^ 2)) * (6) + O_y * f (8) -O_z * f (7);
——(g_s + g * (f (1) ^ 2 + f (3) ^ 2 + (2) ^ 2 + f (4) ^ 2)) * (7) + O_z * f (6) -O_x * f (8);
g * (eta_substract)——(g_s + g * (f (1) ^ 2 + f (3) ^ 2 + (2) ^ 2 + f (4) ^ 2)) * f (8) - g * (f (1) ^ 2 + f (3) ^ 2 - f (2) ^ 2 - f。(4) ^ 2) * (5) + O_x * f (7) -O_y * f (6)];
劳动部
您可能会注意到,需要用它写所有的系数函数。如果我删除任何多项式系数的函数和数值不工作。但我希望能够改变系数在一个脚本文件中。你能建议我怎么可以这样做吗?

答案(2)

沃尔特·罗伯森
沃尔特·罗伯森 2022年11月3日
看到 //www.tianjin-qmedu.com/help/matlab/math/parameterizing-functions.html 关于如何创建匿名函数,包括所需的信息
3评论
帖木儿Almabetov
帖木儿Almabetov 2022年11月5日
非常感谢你的帮助!
Unfortunetaly,它仍然不工作当我试图实现的解决方案。总是有一个错误的操作。我可以与你分享th函数文件和脚本文件,也许你会更清楚我做错了什么。

登录置评。


Torsten
Torsten 2022年11月5日
tspan = linspace (0, 35000);
f0 = [1;1;1;1;1;1;1;1);
= 2;g_p = 3;g_s = 105;g_a = 0;g = 1;k = 250;P = 0;O_z = 5;
η= 2;O_x = 0;O_y = 0;
[t、f] =数值(@ (t, f) FSM (t、f、g_p g_s, g_a, g, k, P, O_z,η,O_x, O_y), tspan, f0);
E_pr = f(1:结束,1);E_mr = f(1:最终,2);
E_pi = f(1:结束,3);E_mi = f(1:结束,4);N = f(1:结束,5);
m_x = f(1:结束,6);m_y = f(1:结束,7);m_z = f(1:结束,8);
dE_pr = k * (N + m_z - 1) * (E_pr - * E_pi) - g_a * E_pr + g_p * E_mi - O_z * E_pi;
dE_mr = k * (N - m_z - 1) * (E_mr - * E_mi) - g_a * E_mr + g_p * E_pi + O_z * E_mi;
dE_pi = k * (N + m_z - 1) * (E_pi + * E_pr) - g_a * E_pi g_p * E_mr + O_z * E_pr;
dE_mi = k * (N - m_z - 1) * (E_mi + * E_mr) - g_a * E_mi g_p * E_pr O_z * E_mr;
E_p =√E_pr。^ 2 + E_pi。^ 2);
E_m =√E_mr。^ 2 + E_mi。^ 2);
I_p = E_p。^ 2;
I_m = E_m。^ 2;
我= (I_p + I_m) / 2;
E_x = (E_p + E_m)。/√(2);
E_y = (E_m - E_p)。/√(2);
I_x = E_x。^ 2;
I_y = E_y。^ 2;
I_difference = (I_p - I_m);
e = I_difference。/ (I_p + I_m);
图(1)
情节(t (28000:32000) I_p (28000:32000),“- - -”t (28000:32000) I_m (28000:32000),“——”);
轴([28 32 0 1.2])
包含(“时间(ns)”);
ylabel (“CP强度(%)”);
图(2)
情节(t (28000:32000) e (28000:32000))
轴([28 32 1 1])
包含(“时间(ns)”);
ylabel (' Elipticity (%) ');
图(3)
情节(t (28000:32000) I_x (28000:32000)、t (28000:32000) I_y (28000:32000))
轴([28 32 0 1.2])
包含(“时间(ns)”);
ylabel (“LP强度(%)”);
函数FSM_万博 尤文图斯solutions = FSM (t、f、g_p g_s, g_a, g, k, P, O_z,η,O_x, O_y)
eta_substract = P *埃塔;
eta_add =“埃塔”;
% f (1) = E_pr;f (2) = E_mr;f (3) = E_pi;f (4) = E_mi;f (5) = N;
% f (6) = m_x;f (7) = m_y;f (8) = m_z;I_p = f (1) ^ 2 + f (3) ^ 2;
% I_m = f (2) ^ 2 + f (4) ^ 2;
FSM_万博 尤文图斯solutions = [k * (f (5) + f (8) 1) * * f (f (1)——(3) -g_a * f (1) + g_p * (4) -O_z * f (3);
k * (f (5) - f (8) 1) * (f (2)——f (4)) * -g_a g_p * * f (2) + (3) + O_z * f (4);
k * (f (5) + f (8) 1) * (f (3) + f (1)) * -g_a * f (3) -g_p * (2) + O_z * f (1);
k * (f (5) - f (8) 1) * (f(4) +一个* f (2)) -g_a * (4) -g_p * f (1) -O_z * f (2);
g * (eta_add - (1 + f (1) ^ 2 + f (3) ^ 2 + (2) ^ 2 + f (4) ^ 2) * f (5) - (f (1) ^ 2 + f (3) ^ 2 - f (2) ^ 2 - f。(4) ^ 2) * f (8));
——(g_s + g * (f (1) ^ 2 + f (3) ^ 2 + (2) ^ 2 + f (4) ^ 2)) * (6) + O_y * f (8) -O_z * f (7);
——(g_s + g * (f (1) ^ 2 + f (3) ^ 2 + (2) ^ 2 + f (4) ^ 2)) * (7) + O_z * f (6) -O_x * f (8);
g * (eta_substract)——(g_s + g * (f (1) ^ 2 + f (3) ^ 2 + (2) ^ 2 + f (4) ^ 2)) * f (8) - g * (f (1) ^ 2 + f (3) ^ 2 - f (2) ^ 2 - f。(4) ^ 2) * (5) + O_x * f (7) -O_y * f (6)];
结束

类别

找到更多的在编程帮助中心文件交换

s manbetx 845


释放

R2022b

社区寻宝

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

开始狩猎!