Question

I need to shade the area between symbolic curves and the x axis.

syms x

j(1) = x^2
j(2) = x^3
j(3) = x^5
j(4) = x^6

for i = 1:4
    subplot(2,2,i);
    f(i) = ezplot(j(i),[0,6000]);
    Hatch(f(i))
end

This gives me an error. After looking in the matlab documentation, i end up with codes like

f1 := plot::Function2d(sqrt(x), x = 0..2, Color = RGB::Black):

Is this even matlab code? What's with the "::" and ":="? Why does this throw an error? Thanks for any help guys!

Thanks!

Was it helpful?

Solution

Write you command under mupad and after to call it with Matlab command window have a look to this : MatLab and MuPad

For more information go here

OTHER TIPS

The line f1 := plot::Function2d(sqrt(x), x = 0..2, Color = RGB::Black): is for MuPad (Symbolic Math toolbox). However, you can evaluate the symbolic functions without this toolbox using Matlab's ezplot.

The following figure

enter image description here

is given by (please see the comments that made your code work)

f{1} = 'x^2'; % declare as cell array {} of string ''
f{2} = 'x^3';
f{3} = 'x^5';
f{4} = 'x^6';

figure('Color', 'w');
for ii = 1:4                          %do not use i or j in Matlab
    subplot(2,2,ii);
    h(ii) = ezplot(f{ii},[0,6000]);   %the correct way to call ezplot
    x = get(h(ii), 'XData');          %get the x and y data
    y = get(h(ii), 'YData');
    area(x,y,'FaceColor',[.7 0 0]);   %plot the (x,y) area in red
end
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top