Error using inline/subsref (line 12) Not enough inputs to inline function.
조회 수: 4 (최근 30일)
이전 댓글 표시
Hi, I've been tested so many times and tried all the answers from here and still not working.
if the expression is

with
m=4.541*TN*S0/T
T=1:0.1:100
TN=70
S0=0.99
integration with simpson 1/3
here my code:
clear all; clc;
f1=inline('3/2*(cos(x)^2)*exp(m*(3/2*(cos(x)^2))-1/2)*sin(x)','m','x');
f2=inline('exp(m*(3/2*(cos(x)^2)-1/2))','m','x');
T0=1;
TM=100;
dT=0.1;
TN=70;
S0=0.99;
for T=T0:dT:TM;
m=4.541*TN*S0/T;
a=0;b=pi;
c=0;d=pi;
n=100;
h=(b-a)/n;
f1a=f1(a);f1b=f1(b);
f2a=f2(a);f2b=f2(b);
jumeven=0;jumodd=0;
for i=1:n-1
p=mod(1,2);
if p==0
xi=x+i*h;
jumeven=jumeven+f(xi);
else
xi=x+i*h;
jumodd=jumodd+f(xi);
end
end
I1=(h/3)*(f1a+4*jumodd+2*jumeven+f1b);
I2=(h/3)*(f2c+4*jumodd+2*jumeven+f2d);
S=I1/I2;
S0=S;
end
disp([S' T']);
disp([S]);
plot(S,T,'ob-','linewidth',3);
grid on;
xlabel('S','fontsize',18);
ylabel('T','fontsize',18);
댓글 수: 4
Walter Roberson
2022년 3월 12일
f1 = @(m,x) 3/2*(cos(x).^2).*exp(m.*(3/2*(cos(x).^2))-1/2).*sin(x);
f2 = @(m,x) exp(m.*(3/2*(cos(x).^2)-1/2));
채택된 답변
KSSV
2022년 3월 11일
These lines:
f1a=f1(a);f1b=f1(b);
f2a=f2(a);f2b=f2(b);
Should be:
f1a=f1(m,a);f1b=f1(m,b);
f2a=f2(m,a);f2b=f2(m,b);
As the functions f1, f2 need two inputs.
댓글 수: 5
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Function Creation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
