Info

この質問は閉じられています。 編集または回答するには再度開いてください。

How can I deal with function handle errors? I need the graph to produce a flat line after it touches the horizontal axis.

1 回表示 (過去 30 日間)
Ruten9
Ruten9 2015 年 10 月 25 日
閉鎖済み: Walter Roberson 2015 年 10 月 26 日
%Part A
clear all; clc;
t = 0:.01:35;
h = height(t)
%Part C (maxima)---I swapped the order for the plotting
%max function
[xpsudeomax,ymax] = max(h(t));
xrealmax = t(ymax);
maxfunction = [xrealmax,ymax];
%fminbnd function
[xmax2,ymaxpsudeo]= fminbnd(@(t) (-1.*h(t)),0,30);
yrealmax = -1.*ymaxpsudeo;
format long g
fminbndmax = [xmax2,yrealmax] ;
%Part D --- awkward position was for plotting
[xzero,ypsuedozero]= fzero(@(t) h(t),20);
yrealzero = round(ypsuedozero);
ZERO = [xzero,yrealzero];
%Part B (height vs time)
figure;
plot(t,h(t),'blue',xmax2,yrealmax,'go','LineWidth',2);
hold on;
plot(xzero,yrealzero,'r.','MarkerSize',20);
ylabel('altitude [m]');
xlabel('time [sec]');
title('Rocket Trajectory');
legend('height','max','ground','location','ne')
axis([0 35 0 1500]);
%%Corresponding Height File
%function h = height(t)
%h = @(t) ((-9.8).*(2.^(-1))).*(t.^2) + 125.*t + 500;
%h(h<0) = 0;
%if h(t) <0
% h=0
%end
% end

回答 (1 件)

Walter Roberson
Walter Roberson 2015 年 10 月 25 日
h = @(t) max(0,the current expression)
  1 件のコメント
Ruten9
Ruten9 2015 年 10 月 25 日
What was this supposed to do? It just gave me the whole graph.

この質問は閉じられています。

Community Treasure Hunt

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

Start Hunting!

Translated by