2016-08-08 2 views
0

Я просто интересно, у меня есть следующий код:Контур участок не показывает никакого результата

[r,R] = meshgrid(2:0.01:10,-4:0.01:4); 
Z=(((R).^2)-1); 
    A=2+ (R.*(r+r^-1)); 
    B=sqrt(Z).*(r-r^-1); 
    C=((r+r^-1)./(sqrt(Z))).*acoth(A./B); 
    figure 
contourf(r,R,C); 
    h=colorbar; 
    set(get(h,'ylabel'),'string','\gamma P_P L') 
    xlabel('$r$','Interpreter','latex','FontSize',18) 
    ylabel('$D \over 2\sqrt{M}$','Interpreter','latex','FontSize',18) 

Я просто получить для А и В все ответы бесконечные, но я не знаю, почему?

ответ

2

Вы забыли точку. r^-1 - это то же самое, что и inv(r). А так как все строки r совпадают с строками первого, это уменьшенная строка эшелона будет иметь почти все нули, а обратная будет иметь бесконечные значения. Я считаю, что вы имели в виду

A=2+ (R.*(r+r.^-1)); 

или, более четко, на мой взгляд,

A=2+ (R.*(r+ 1./r)); 

и так далее для остальной части r^-1.

+0

Большое спасибо Я просто задавался вопросом, могу ли я наложить условие на свою функцию в контурном сюжете –

+2

@AbedLibnanHaidar Это зависит от того, что вы имеете в виду. Не могли бы вы быть более конкретными, и я посмотрю, смогу ли я найти вопрос, который поможет вам? – TroyHaskin