MATLAB дорожные сетки - PullRequest
       8

MATLAB дорожные сетки

1 голос
/ 14 ноября 2011

Я хочу построить "путевую сетку" MATLAB.На самом деле мне пришлось выбрать другую команду MATLAB вместо linspace, чтобы построить свою сетку для любого k.Возможно ли это с помощью команды MATLAB?

for k=1:5
    a=0;
    b(k)=k.*3;
    x=linspace(0,b(k),10);
    y=linspace(0,30,10);
    for z=1:length(x)
        for t=1:length(y)
            A(z,t,k)=x(z).*exp(-y(t)); 
        end
    end
end

Спасибо за любую помощь,

Ответы [ 2 ]

2 голосов
/ 14 ноября 2011
X = linspace(0,3,10);
XX(1,:,:) = bsxfun(@times,X,(1:5)')';
Y = exp(-linspace(0,30,10));
B = bsxfun(@times,Y',XX);
B = permute(B,[2,1,3]);
0 голосов
/ 14 ноября 2011

Ваш текущий код работает нормально, поэтому я не уверен, в чем вопрос ... Вот немного более простая реализация:

b = (1:5).*3;
A = zeros(10,10,5);
for k=1:5
    [X,Y] = ndgrid(linspace(0,b(k),10), linspace(0,30,10));
    A(:,:,k) = X.*exp(-Y);
end

Если вы также хотите изменить пределы y, процесс аналогичен; у вас будет две петли, и результат A будет четырехмерной матрицей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...