Trouble getting plots to show in published PDF

106 次查看(过去 30 天)
I have all of my code done and now I am trying to publish the code in a pdf file and have it show the code, the answers, and the graphs. Here is my code:
if true
% code
%
%Math 246
%MATLAB #1
%4
syms y(t) c
dsolve(diff(y) - 2*y == sin(2*t), y(0) ==c)
%c=-0.5
ezplot(exp(2*t)*(-.5 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
%c=-0.45
ezplot(exp(2*t)*(-.45 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
%c=-0.40
ezplot(exp(2*t)*(-.40 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
%c=-0.35
ezplot(exp(2*t)*(-.35 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
%c=-0.30
ezplot(exp(2*t)*(-.30 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
%c=-0.25
ezplot(exp(2*t)*(-.25 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
%c=-0.20
ezplot(exp(2*t)*(-.20 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
%c=-0.15
ezplot(exp(2*t)*(-.15 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
%c=-0.10
ezplot(exp(2*t)*(-.10 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
%c=-0.05
ezplot(exp(2*t)*(-.05 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
%c=0
ezplot(exp(2*t)*(0 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
%Between the interval c= -0.5 to c= -0.30 the graph show a constant
%function until t= 2. At t= 2 y becomes -infinity as t goes to 5. The graph
%turns into a normal cosine curve when c= -0.25. Then from t= -0.20 to t= 0
%the graph does not change, is constant around y= 0 until t approaches 2.
%Then the graph goes towards postive infinity as t gets to 5. Finally this
%proves that any initial data can change the whole shape and the direction that the graph provides.
%9a
syms t y(t) c
y(t) = dsolve(diff(y,t) == y/(1+t^2), y(0)==c)
%9b
ezplot(-10*exp(atan(t)))
hold on;
ezplot(-9*exp(atan(t)))
hold on;
ezplot(-8*exp(atan(t)))
hold on;
ezplot(-7*exp(atan(t)))
hold on;
ezplot(-6*exp(atan(t)))
hold on;
ezplot(-5*exp(atan(t)))
hold on;
ezplot(-4*exp(atan(t)))
hold on;
ezplot(-3*exp(atan(t)))
hold on;
ezplot(-2*exp(atan(t)))
hold on;
ezplot(-1*exp(atan(t)))
hold on;
ezplot(0*exp(atan(t)))
hold on;
ezplot(1*exp(atan(t)))
hold on;
ezplot(2*exp(atan(t)))
hold on;
ezplot(3*exp(atan(t)))
hold on;
ezplot(4*exp(atan(t)))
hold on;
ezplot(5*exp(atan(t)))
hold on;
ezplot(6*exp(atan(t)))
hold on;
ezplot(7*exp(atan(t)))
hold on;
ezplot(8*exp(atan(t)))
hold on;
ezplot(9*exp(atan(t)))
hold on;
ezplot(10*exp(atan(t)))
hold off;
axis([-20 20 -40 40])
%9c
limit(1*exp(atan(t)),t,inf)
%9d
%When t is negative, ysub a-ysub b will always be equal or less than a-b.
%9e
%This theorem proves that for any set bound by t but not y the inital
%values times a constant will equal those functions substracted.
%19a
clear all;
syms t y s;
[t, y] = meshgrid(-1:0.2:5, -1:0.2:5);
s = -y.^3+4*y.^2-3*y;
quiver(t, y, ones(size(s)), s)
%y= 0 is stable, y= 1 is unstable, y= 3 is stable. The slope is heading
%towards infinity in the interval between 1 and 3. Once it is greater than
%3 the slopes slant and almost become vertically downward pointing at 3.
%For 1 the slope is 0 and for between 0 and 1 the slope is going towards 0.
%19b
clear all;
syms t y;
[t, y] = meshgrid(0:.5:12, -5:.5:12);
s = (y.*(1-log(y)).*(y-3));
quiver(t, y, ones(size(s)),s)
%The equilibrium solutions are y= 0, y= e, y= 3.
%19c
clear all;
syms t y;
ezplot(y*(1-log(y))*(y-3))
axis([0 4 -8 0]);
limit(y*(1-log(y))*(y-3),y,0)
%19d
%y= 0 is stable. y= e is hard to find whether it is stable or unstable
%because the direction plot is unclear. Where y= 3 it is unstable. In the
%graph y= 0 at or around e which can not exist because the natural log of 0
%does not exist. This is why the stability between y= 2.5 and y= 3, which
%is in the interval containing e.
end
For example none of the ezplot graphs from #4 are showing up when I publish the file.

采纳的回答

Kelly Kearney
Kelly Kearney 2015-9-29
The publish function requires your code to be properly marked up in order to render it in the way I think you want it. By default, figure snapshots are taken at the end of a cell; your code isn't divided into cells, so the only figure snapshot is taken at the end of the code, showing the final state of your figure. You can either mark your code up and divide it into one cell per figure, which will intersperse your figures with the code that created them in the published document.
%%Math 246: MATLAB #1
%%4
syms y(t) c
dsolve(diff(y) - 2*y == sin(2*t), y(0) ==c)
c=-0.5
ezplot(exp(2*t)*(-.5 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
c=-0.45
ezplot(exp(2*t)*(-.45 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
Alternatively, you can add the snapnow command wherever you want a saved figure; this will place all the figures at the end of your document, following the code:
%%Math 246: MATLAB #1
%%4
syms y(t) c
dsolve(diff(y) - 2*y == sin(2*t), y(0) ==c)
%c=-0.5
ezplot(exp(2*t)*(-.5 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
snapnow
% c=-0.45
ezplot(exp(2*t)*(-.45 + 1/4) - (2^(1/2)*cos(2*t - pi/4))/4)
snapnow
Reading up on the "Publishing Markup" section in the documentation will help.

更多回答(1 个)

Madhu Govindarajan
Madhu Govindarajan 2015-9-29
Have you tried breaking down the problem into smaller pieces instead of one huge script???
Also which version of MATLAB are you using? as I tried the first few lines in the latest version and seems to work fine for me.

类别

Help CenterFile Exchange 中查找有关 Mathematics 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by