How to plot several different points from an equation? (Macaulay's notation)
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
I am fairly new to Matlab and thought of using it for one project to plot some graphs. Problem is it requires Macaulay's notation. At the moment I've come up with a function file like this:
function [ V ] = Untitled2( x )
%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here;
R1h= 632.568;
R2h= -2722.793;
Th= -2090.455;
A=x;
B=x-0.76;
C=x-0.99;
if A>0
A=1;
else
A=0;
end
if B>0
B=1;
else
B=0;
end
if C>0
C=1;
else
C=0;
end
V=R1h*A+R2h*B+Th*C;
plot(x, V);
end
Now, it gives the correct values for the shear force V whenever I add a specific coordinate x, however I can't think of a way for it to plot all the points. To be more precise I need it to be at V= 632.568 up until x=0.76, then it should go down straight to V= -2090.455 up until x=0.99 and then return to 0.
If any advice could be given about how to plot such a graph (or make better use of Matlab for Macaulay's notation) I would really appreciate!
Thanks!
0 Kommentare
Antworten (2)
Walter Roberson
am 22 Okt. 2012
Remove the plot() statement. Then in a new driver routine use
V = arrayfun(@Untitled2, x); %x can be a vector
plot(x, V);
1 Kommentar
Matt Fig
am 22 Okt. 2012
Bearbeitet: Matt Fig
am 22 Okt. 2012
function [ V ] = Untitled2(x)
V = zeros(size(x));
V(x<=.76) = 632.568;
V(x>.76 & x<=.99) = -2090.455;
Now, from the command line:
x = 0:.001:1.5;
plot(x,Untitled2(x))
Also, why not name your function some useful name, like:
function V = shearforce(x)
V = zeros(size(x));
V(x<=.76) = 632.568;
V(x>.76 & x<=.99) = -2090.455;
This 'Untitled2' business is just awful!
Siehe auch
Kategorien
Mehr zu Graphics Performance finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!