-1
策劃我想T
從0
變化到2000
與100
間隔{共20個圖形都在同}MATLAB for循環與變參數
給一個繪製該
f(x)=3*(1-x)+7*x+8.314*T((1-x)*(lnx)+x*(lnx))+20*x(1-x)
涉及循環和繪圖功能的非常基本的代碼。 PS:我在MATLAB
策劃我想T
從0
變化到2000
與100
間隔{共20個圖形都在同}MATLAB for循環與變參數
給一個繪製該
f(x)=3*(1-x)+7*x+8.314*T((1-x)*(lnx)+x*(lnx))+20*x(1-x)
涉及循環和繪圖功能的非常基本的代碼。 PS:我在MATLAB
[email protected](x,T) 3*(1-x)+7*x+8.314*T*((1-x).*log(x)+x.*log(x))+20*x.*(1-x);
T=0:100:2000;
x=linspace(0,10,100);
for i=1:length(T)
plot(x,f(x,T(i)));
hold on;
end
歡迎Matlab的一個beginer。 :)下面是我們如何做到這一點沒有循環:
% Define your function in terms of x and T
% Note that we use .* instead of * - this does a pairwise multiply
% instead of a matrix or vector multiply
f = @(x,T) 3*(1-x)+7*x+8.314*T.*((1-x).*log(x)+x.*log(x))+20*x.*(1-x);
% Set your domain
x = linspace(0, 10, 101);
T = (0:100:2000);
% Compute your function for all values of x and T
tmp = bsxfun(f, x, T');
% Plot your output, all at the same time
plot(x, tmp)
你的意思是20點,而不是20個圖? –