Как представить е ^ (- т ^ 2) в MATLAB? - PullRequest
7 голосов
/ 06 марта 2011

Я новичок в MATLAB и мне нужно представить e (- t 2 ) .

Я знаю, что, например, для представления e x я использую exp(x), и я попробовал следующее

1) tp = t ^ 2; / tp = t * t; х = ехр (-tp);

2) x = exp (-t ^ 2);

3) x = exp (- (t * t));

4) x = exp (-t) * exp (-t);

Как правильно это сделать?

Ответы [ 2 ]

14 голосов
/ 06 марта 2011

Если t - матрица, вам нужно использовать поэлементное умножение или возведение в степень.Обратите внимание на точку.

x = exp( -t.^2 )

или

x = exp( -t.*t )
5 голосов
/ 06 марта 2011

Все 3 первых способа идентичны.Вы должны убедиться, что если t - это матрица, которую вы добавляете . перед использованием умножения или степени.

для матрицы:

t= [1 2 3;2 3 4;3 4 5];
tp=t.*t;
x=exp(-(t.^2));
y=exp(-(t.*t));
z=exp(-(tp));

дает результаты:

x =

0.3679    0.0183    0.0001
0.0183    0.0001    0.0000
0.0001    0.0000    0.0000

y =

0.3679    0.0183    0.0001
0.0183    0.0001    0.0000
0.0001    0.0000    0.0000

z=

0.3679    0.0183    0.0001
0.0183    0.0001    0.0000
0.0001    0.0000    0.0000

И использование скаляра:

p=3;
pp=p^2;
x=exp(-(p^2));
y=exp(-(p*p));
z=exp(-pp);

дает результаты:

x =

1.2341e-004

y =

1.2341e-004

z =

1.2341e-004
...