how can i make the initial value variable? this is the first problem. in my code, i used 'inline' to assign values to variable (t). However, the equation which is in the inline function was copied manualy. is it possible to do it automatically?
조회 수: 1 (최근 30일)
이전 댓글 표시
clear all
clc
syms t y
y=dsolve('Dy-y=t^2','y(0)=1');
simplify(y)
y1=inline('3*exp(t) - 2*t - t^2 - 2','t')
t=-4;
sayici=0;
for i=1:7
t=t+1;
sayici=sayici+1;
b(sayici)=y1(t);
end
b
ezplot(y1,[-3 3])
xlabel('t [-3 3]');
ylabel('y');
grid on
채택된 답변
Star Strider
2015년 5월 28일
To make it a variable, declare it as such in your dsolve statement, then to use it as a variable, use matlabFunction and the plot function:
syms t y
y=dsolve('Dy-y=t^2','y(0)=y0');
simplify(y)
fy = matlabFunction(y) % Create Anonymous Function From ‘y’
t = linspace(-3, 3, 35); % Vector: ‘t’
y0 = 0:5; % Vector: ‘y0’
[T,Y0] = ndgrid(t,y0); % Create Grid Matrices
Y = fy(T,Y0); % Evaluate Function
figure(1)
plot(t, Y)
grid
legstr = strsplit(sprintf('y_0 = %.0f\n', y0), '\n');
legend(legstr(1:end-1), 'Location','NW')
The matlabFunction result is:
fy = @(t,y0)t.*-2.0+exp(t).*(y0+2.0)-t.^2-2.0
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Function Creation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!