syms C1 sigmaeff
C0 = 1-C1;
sigmacp = 10^(-8);
sigmain_plant = 10^(5);
sigmaout_plant = 2000;
S11 = 0.2;
S33 = 0.6;
a = (sigmacp-sigmaeff)/(sigmaeff+(1/3)*(sigmacp-sigmaeff));
b = (2*(sigmain_plant-sigmaeff))/(sigmaeff+S11*(sigmain_plant-sigmaeff));
d = (sigmaout_plant-sigmaeff)/(sigmaeff+S33*(sigmaout_plant-sigmaeff));
F = C0*(a)+(1/3)*C1*(b+d)
j = solve(F,sigmaeff)
g = log10(j)
fplot(g,[0,1])
显示在忙,出不来图
会不会是绘图函数的问题或者是solve的问题
绘制出log10(eff)关于C1的图像
可以化成arr的形式然后用fsolve
syms C1 sigmaeff
C1_arr = 0.01:0.01:1; % 定义C1的向量
sigmaeff_arr = zeros(size(C1_arr));
C0 = 1-C1;
sigmacp = 10^(-8);
sigmain_plant = 10^(5);
sigmaout_plant = 2000;
S11 = 0.2;
S33 = 0.6;
a = (sigmacp-sigmaeff)/(sigmaeff+(1/3)*(sigmacp-sigmaeff));
b = (2*(sigmain_plant-sigmaeff))/(sigmaeff+S11*(sigmain_plant-sigmaeff));
d = (sigmaout_plant-sigmaeff)/(sigmaeff+S33*(sigmaout_plant-sigmaeff));
F = C0*(a)+(1/3)*C1*(b+d);
F = matlabFunction(F);
for i = 1:1:numel(C1_arr)
C1_v = C1_arr(i);
f = @(sigmaeff)F(C1_v, sigmaeff);
sigmaeff_arr(i) = fsolve(f, 1e2);
end
semilogy(C1_arr,log10(sigmaeff_arr))