реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> fsolve Octave, Поиск корней функции с несколькими аргументами
FDaniil
сообщение Dec 5 2016, 23:05
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 5-12-16
Пользователь №: 94 515



Здравствуйте.
Пытаюсь наладить отношения с 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", а при вызове функции ввести блок их чтения, но, думаю, на скорость это повлияет плохо.

Куда же копать, есть же более простое решение?
Go to the top of the page
 
+Quote Post
FDaniil
сообщение Dec 6 2016, 08:27
Сообщение #2





Группа: Новичок
Сообщений: 2
Регистрация: 5-12-16
Пользователь №: 94 515



Прошу прощения, долго искал ответ, но после того как написал сюда всё нашлось
dkhramov.dp.ua/Sci/MatlabHowtoPassAdditionalParams
Спасибо
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th November 2017 - 07:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01265 секунд с 7
ELECTRONIX ©2004-2016