我想解决对于固定值,让我们说
在哪里和
然后我想在 和. 以下是MATLAB中的代码。
eq = @(q) 2*(1-cos(2*pi*q));
hq = @(q,U,n0) ((eq(q))^2+2*U*n0*(eq(q))).^(1/2);
y = @(q,U,n0) (((eq(q))+(U*n0))/hq(q,U,n0))-1;
a = -0.5;
b = 0.5;
v = @(U,n0) quad(@(q) y(q,U,n0),a,b);
cv =@(U,n0) n0+(0.5*v)-1;
n0 = 0.1;
options = optimset('Display', 'iter');
n = @(U) fsolve(vv,n0,0.1);
U = 0:0.1:20;
plot(U,n(U))
编辑 2 代码更正编辑 1。
编辑 3
但我仍然面临以下错误:
错误使用 ^ 输入必须是标量和方阵。要计算元素 POWER,请改用 POWER (.^)。
@(q,n0)((eq(q))^2+2*U n0 (eq(q))) 中的错误。^0.5
@(q,n0)(((eq(q))+(U*n0))/hq(q,n0))-1 中的错误
@(q)y(q,n0) 中的错误
quad 中的错误(第 72 行)y = f(x, varargin{:});
@(n0)quad(@(q)y(q,n0),a,b) 中的错误
@(n0)n0+(0.5*v(n0))-1 中的错误
simulv1 中的错误(第 12 行) n = fsolve(cv(n0),n0,0.1,options);