Mexican Hat function plot help

27 ビュー (過去 30 日間)
Jesse
Jesse 2011 年 10 月 5 日
コメント済み: Palguna Gopireddy 2022 年 4 月 8 日
Hello all,
I'm trying to plot a certain Mexican Hat function (other than the one they provide in MATLAB), but I'm getting the matrix dimensions must agree when I define psi. I tried everything to fix the code, but no luck. Can someone advise?
I know some code is repetitive, but I need them in other areas of my code.
dXs = 1;
x = [-20,20];
SamplingScale = [1, dXs, 4, 20 ,40];
Range = SamplingScale;
HalfRange = Range/2;
Sigma = HalfRange/4;
SigmaSq = Sigma.^2;
for i = 1:length(x)
psi = (2/(sqrt(3)*Sigma)*pi^(-0.25))*(1-(i^2/Sigma^2))*(e^(-i^2/2*SigmaSq));
end
plot (psi)
Thanks again!

採用された回答

the cyclist
the cyclist 2011 年 10 月 5 日
I did two main things with your code (pasted below):
  1. Added a lot of "dot''s to the line of code in your loop. When you have vectors, and you want to do operation on those vectors element-by-element, you need to add those dots, so that MATLAB does not think you want to do matrix operations (e.g. matrix multiply or matrix inverse).
  2. Added the line "e = exp(1)" to your code. MATLAB does not have "e" predefined. You could also have used the exp() function instead of your syntax.
You might want to read the "Getting Started" guide: http://www.mathworks.com/help/techdoc/learn_matlab/bqr_2pl.html
dXs = 1;
x = [-20,20];
SamplingScale = [1, dXs, 4, 20 ,40];
Range = SamplingScale;
HalfRange = Range/2;
Sigma = HalfRange/4;
SigmaSq = Sigma.^2;
e = exp(1);
for i = 1:length(x)
psi = (2./(sqrt(3)*Sigma)*pi^(-0.25)).*(1-(i^2./(Sigma.^2))).*(e.^(-i^2./(2*SigmaSq)));
end
plot (psi)
  1 件のコメント
Jesse
Jesse 2011 年 10 月 5 日
Hmm, apparently I didn't try everything!
Thanks cyclist!

サインインしてコメントする。

その他の回答 (1 件)

Palguna Gopireddy
Palguna Gopireddy 2022 年 3 月 31 日
What is the mexihat equation used in matlab. In original equation there is no term called [lb,ub].
  3 件のコメント
Ramiro Saldaña Acosta
Ramiro Saldaña Acosta 2022 年 4 月 8 日
I suggest lb=-5, ub=5, N=50
Palguna Gopireddy
Palguna Gopireddy 2022 年 4 月 8 日
Thanks.Got it.any function can be know seen by pressing right click on it and opening it.
But for chebwin function one of the lines is 'chebwinx' which can't be opened. They said it is a MEX file. Do you know any way to open and see a MEX file in matlab.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeWaveform Generation についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by