2013-08-22 6 views
-1

Я хочу, чтобы построить этотMATLAB для цикла построения с переменным параметром

f(x)=3*(1-x)+7*x+8.314*T((1-x)*(lnx)+x*(lnx))+20*x(1-x) 

с T изменяясь от 0 до 2000 с интервалом 100 {В общей сложности 20 графиков все в том же}

Дайте очень простой код, включающий функцию цикла и графика. PS: Я beginer в MATLAB

+0

Вы имеете в виду 20 баллов, а не 20 графов? –

ответ

0
[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 
1

Добро пожаловать в Matlab. :) Вот как мы это сделаем без цикла:

% 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) 
Смежные вопросы