Вопрос:
Matlab newb здесь. Я искал и не нашел, как сделать следующее:
x=0.1:1/100:10; y=exp(a(a>=-1&a<=1)*sqrt(x)); plot(x,y)
Я понимаю, что размеры x и a не совпадают, но я просто хочу выразить: “Как выглядит y когда константа a ограничена между -1 и 1″, например.
Любые намеки приветствуются. Заранее спасибо.
Лучший ответ:
Предполагая, что a и x независимы, вы можете идти по этим строкам, используя bsxfun для вычисления y для всех комбинаций a и x:
x = 0.1:1/100:10; %// define x values a = linspace(-1,1,10); %// define a values y = exp( bsxfun(@times, a, sqrt(x).’) ); %’// compute y for all combinations plot(x,y); %// this plots each column of y. Each colum represents a value of a
Или график как трехмерный график (y как функция a и x):
mesh(a,x,y) xlabel(‘a’) ylabel(‘x’) zlabel(‘y’)
Ответ №1
Вы можете сделать следующее:
x=0.1:1/100:10; % 991 clips a=-1:1/495:1; % use 1/495 here to make it also 991 clips y=exp(a.*sqrt(x)); plot(x,y)
Это даст вам следующий рисунок: