Перейти к содержанию
    

fsolve Octave

Здравствуйте.

Пытаюсь наладить отношения с octave, а то время решение задач в mathcad увеличивается с неимоверной скоростью и стабильность маткада с ростом сложности задачи уменьшается.

Пытаюсь найти корни функции с несколькими аргументами при изменении других параметров функции.

Есть функция:

%сохранена в каталоге под именем "lin.m"
function y = lin(x,a,b)
    y=a.*x+b;
endfunction

Есть функция fsolve (или fzero), одним из аргументов которой является указатель на функцию или инлайн функция или просто как строка.

Документация:

[X, FVAL, INFO, OUTPUT] = fzero (FUN, X0, OPTIONS)

FUN is a function handle, inline function, or string containing the name of the function to evaluate.

Для вариантов указателя и "просто строка", как я понял, используют символ "@" или "одинарные кавычки", но в таком случае не могу понять где указываются значения аргументов a и b

Для варианта с inline проще - можно было бы объявить заранее переменные "a" и "b" и записывать в inline, но получается беда:

>> a=1;
>> b=0;
>> f=inline('num2str(a)*x+num2str(b)','x')
f = f(x) = num2str(a)*x+num2str(b)
>> f(2)
ans =  146

Я ожидал, что заранее объявленные переменные подставятся в нужные места, но всё равно в таком случае появляется необходимость в хранении формулы в виде строки и при изменении какого-либо параметра исправлять функцию.

 

Есть непроверенная идея - в цикле сохранять текущие значения параметров "a" и "b", а при вызове функции ввести блок их чтения, но, думаю, на скорость это повлияет плохо.

 

Куда же копать, есть же более простое решение?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прошу прощения, долго искал ответ, но после того как написал сюда всё нашлось

dkhramov.dp.ua/Sci/MatlabHowtoPassAdditionalParams

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...