Function function/ passing function/ varargin help?
5 ビュー (過去 30 日間)
古いコメントを表示
Develop a function function M-file that returns the difference between the passed function's maximum and minimum value given a range of the independent variable. In addition, have the function generate a plot of the function for the range. Test it for the following cases:
f(t) = a*exp^(-b*t)*sin(t-c) from t = 0 to 6*pi
1. a = 8, b = 0.25, c = 2 below is what I have so far. I keep getting an error. I don't know what I am doing wrong. .I would appreciate any help that you could provide. Thank you.
%input:
% a = lower bound of range
% b = upper bound of range
% n = number of intervals
%output:
% fdiff = difference between max and minimum of a function
function fdiff = funcdiff(f, a, b, n, varargin)
x = linspace(a,b,n);
y = f(x, varargin{:});
fdiff = max(y) - min(y);
fplot(f, [a b], varargin{:})
end
% clear clc
% diff = @(t) a*exp^(-b*t)*sin(t-c);
% funcdiff(diff, 0, 6*pi, 180, 8, 0.25, 2)
回答 (1 件)
KSSV
2020 年 10 月 24 日
編集済み: KSSV
2020 年 10 月 24 日
a = 8 ;
b = 0.25 ;
c = 2 ;
n = 180 ;
f = @(t) a*exp(-b*t).*sin(t-c);
t = linspace(a,b,n);
y = f(t);
fdiff = max(y) - min(y);
plot(t,y)
2 件のコメント
Cole Fontana
2020 年 10 月 26 日
編集済み: Cole Fontana
2020 年 10 月 26 日
Don't worry I'm just as stuck as you are lol
Professor Huang said that we can't use fplot when using varagin.
参考
カテゴリ
Help Center および File Exchange で Entering Commands についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!