2015-11-18 4 views
0

У меня проблема в Octave.Октава: график контура и функция вектора

Я хотел бы построить функцию двух переменных, но функция задана как функция вектора, как в примере ниже. Функция summe (x). Я не хочу изменять форму этой функции, так как она появляется в нескольких других функциях, и мне придется переписывать ее повсюду. я первый попытался следующий код и некоторые варианты:

function sum =summe(x); 
sum=x(1)+x(2); 
endfunction 
x1=0:1:1; 
[X,Y]=meshgrid(x1,x1); 
Z=summe([X,Y]); 
contour(X,Y,Z) # does not work 

Я попробовал несколько вещей, также представляя здесь функцию

function sum1=summe1(x,y) 
sum1= summe([x,y]) 
endfunction 

и сюжет этой функции, но она не работает тоже. Есть Нет возможности, чтобы избежать петли? Thanks

ответ

1

В настоящий момент ваша функция summe просто добавляет первые два элемента из того, что вы передаете ему. Это единственный эффект линии x(1)+ x(2). Поскольку вы на самом деле не сказали нам, какую математическую функцию вы пытаетесь создать с помощью своего кода, на данный момент трудно дать больше указаний.

Кроме того, если вы выполняете определение функции в отдельном файле вместо встроенного с вашим скриптом, вам не придется переписывать его повсюду. Одна и та же функция будет прочитана во всех случаях

+0

Спасибо за вашу помощь, но я нашел решение. Используя _vec_, можно преобразовать матрицы X и Y в векторы, вычислить функцию для всех точек, а затем с помощью _reshape_ вернуть матричную форму – Karl

Смежные вопросы