【发布时间】:2023-01-23 20:28:16
【问题描述】:
我的以下代码生成图 1 中的 V 和 D 值图。在图中,抛物线和直线相交,我需要从一个循环的图中找到根。所以我尝试使用fzero函数,但是出现了错误:
逻辑 AND (&&) 和 OR (||) 运算符的操作数必须可转换为逻辑标量值。使用 ANY 或 ALL 函数将操作数减少为逻辑标量值。
fzero 错误(第 326 行)
elseif ~isfinite(fx) || ~isreal(fx)HW1 错误(第 35 行)
x=fzero(乐趣,1);我的代码是:
clear all; close all W = 10000; %[N] S = 40; %[m^2] AR = 7; cd0 = 0.01; k = 1 / pi / AR; clalpha = 2*pi; Tsl=800; figure(1);hold on; xlabel('V');ylabel('D') for h=0:1:8; i=0; for alpha = 1:0.25:12 i=i+1; rho(i)=1.2*exp(-h/10.4); cl(i) = clalpha * alpha * pi/180; V(i) = sqrt(2*W/rho(i)/S/cl(i)); L(i) = 0.5 * rho(i) * V(i) * V(i) * S * cl(i); cd(i) = cd0 + k * cl(i) * cl(i); D(i) = 0.5 * rho(i) * V(i) * V(i) * S * cd(i); clcd(i) = cl(i)/cd(i); p(i) = D(i)*V(i); ang(i) = alpha; T(i)=Tsl*(rho(i)/1.2).^0.75; end figure(1); plot(V,D); hold on plot(V,T); end fun = @(V) 0.5*V.*V.*rho.*S.*cd-T; x=fzero(fun,1);可能我不应该使用 fzero 函数,但任务是从绘图中找到 V 的根(图 1)。分别有抛物线和直线。
【问题讨论】:
标签: matlab