Size: a a a

2019 September 28

v

vehlwn in comput.math
Так какой ответ на мой вопрос? Почему return с скобочками внутри ифов и форов не прерывает выполнение функции, а без скобочек или без ифов и форов - да?
function [a,b] = testf()
 if 5 > 3 then
   [a,b] = return(1,2)
 end
 [a,b] = (10,20)
endfunction
/*
--> [a,b] = testf()
b  =  20.
a  =  10.
/*
источник

EZ

Evgeniy Zheltonozhskiy🇮🇱 in comput.math
vehlwn
Так какой ответ на мой вопрос? Почему return с скобочками внутри ифов и форов не прерывает выполнение функции, а без скобочек или без ифов и форов - да?
function [a,b] = testf()
 if 5 > 3 then
   [a,b] = return(1,2)
 end
 [a,b] = (10,20)
endfunction
/*
--> [a,b] = testf()
b  =  20.
a  =  10.
/*
Ответ в документации
источник

V

Violet in comput.math
Я вообще не понимаю, зачем такого рода вопросы выносить в чат. Документация и примеры на тему прекрасно гуглятся, на английском так уж точно.
источник

v

vehlwn in comput.math
Violet
Я вообще не понимаю, зачем такого рода вопросы выносить в чат. Документация и примеры на тему прекрасно гуглятся, на английском так уж точно.
https://help.scilab.org/docs/6.0.0/en_US/return.html
Тут написано, что обе версии ретурна "stops the execution of the function" и есть один пример с скобочками без ифов. Он как раз правильно прерывает, и исполнение ниже не идет. А примера с ифами нет. Непонятно, почему у меня он неправильно работает.
источник

v

vehlwn in comput.math
Версия сайлаба такая же - 6.0.2. (Гугл почему-то выдал справку по старой версии.)
источник

V

Violet in comput.math
Мб стоит по-другому написать, присвоение и return отдельно
источник

V

Violet in comput.math
Зачем такая странная конструкция?
источник

AG

Artemy Gevorkov in comput.math
Evgeniy Zheltonozhskiy🇮🇱
Есть по нейронкам и есть одс
Хотелось бы по openCV...
источник

V

Violet in comput.math
Одс
источник

v

vehlwn in comput.math
Violet
Зачем такая странная конструкция?
Чтоб одной строкой присвоить значения всем выходным аргументам. Ну если в матлабе нет ретурна с скобочками, буду юзать без скобочек.
источник

V

Violet in comput.math
Ну если без скобочек работает, почему бы и нет?
источник

v

vehlwn in comput.math
Хочу как в плюсах - сконструировать возврат в return-statement: return {100,200,300}.
источник

V

Violet in comput.math
А, эстетика)
источник

v

vehlwn in comput.math
Я сделал полиномы Лагранжа.
function [ret, msg] = interpLagrangePoly(x, y, vname)
 n = size(x, 1)
 if n <> size(y, 1) then
   [ret, msg] = ([], "size(x) != size(y)")
   return
 end
 
 p1 = poly(0, vname)
 b = ones(n, 1)
 for j = 1 : n do
   for m = 1 : n do
     if m <> j then
       b(j) = b(j) * (p1 - x(m)) / (x(j) - x(m))
     end
   end
 end
 ret = sum(y' * b)
 msg = "ok"
endfunction
источник

v

vehlwn in comput.math
А, уже не надо.
источник

AG

Artemy Gevorkov in comput.math
Он бы не смог это запустить, хех.
источник

v

vehlwn in comput.math
Интересно. Два квадратичных алгоритма, но Лагранж в 2 раза медленнее Ньютона.
n = 500
[a, b] = (-5, 5)
linspaceNodes = linspace(a, b, n)'
chebyshevNodes = (1/2*(a+b) + 1/2*(b-a)*cos((2*(1 : n) - 1) * %pi/2/n))'
xdataInterp = linspaceNodes
ydataInterp = targetFunc(xdataInterp)

tic()
[newtonPoly, msg] = interpNewtonPoly(xdataInterp, ydataInterp, "x")
newtonTime = toc()
disp(newtonTime, "newtonTime = ")

tic()
[lagrangePoly, msg] = interpLagrangePoly(xdataInterp, ydataInterp, "x")
lagrangeTime = toc()
disp(lagrangeTime, "lagrangeTime = ")

newtonTime = 3.047714
lagrangeTime = 6.150453
источник
2019 October 01

ИБ

Илья Балицкий in comput.math
Ну да ну да, классика
источник
2019 October 02

OA

Oleksandr Averchenko in comput.math
источник
2019 October 03

FO

FORTRAN ONE LOVE in comput.math
Сюда так часто заглядывают боты, что я скоро выучу местных админов по их юзернеймам
источник