1 Pages (4 items)
Ошибки в строковых функциях - Messages
#1 Posted: 11/28/2012 3:23:00 PM
#2 Posted: 11/28/2012 7:20:56 PM
В последнем примере результат функции findstr - это матрица. Сравнивать её со скалярным нулём некорректно. К сожалению, из функций проверки типов есть только IsString. (Пожелание: ввести функцию типа typeOf(), возвращающую, например, числовую константу, обозначающую тип результата выражения: 1-число, 2-матрица, 3-строка, 4-система... Кроме того, функции типа findstr() могли бы в случае неудачи возвращать матрицу нулевого размера, что позволило бы просто использовать для контроля результата функцию length().)
Вы могли бы сделать примерно так:
---
Чего-то я наусложнял. Прямая проверка прекрасно работает:
[MATH lang=ENG](matrix(1,1)≡-1)=0[/MATH]
Не работает сравнение "больше/меньше" между разнородными значениями, но это только логично.

Вы могли бы сделать примерно так:
---
Чего-то я наусложнял. Прямая проверка прекрасно работает:
[MATH lang=ENG](matrix(1,1)≡-1)=0[/MATH]
Не работает сравнение "больше/меньше" между разнородными значениями, но это только логично.
С уважением,
Михаил Каганский
#3 Posted: 11/29/2012 5:35:44 AM
Спасибо.
Значит локализовалась ошибка только со str2num для формул, содержащих запятую
Строки 2.sm (13 KiB) downloaded 25 time(s).
Значит локализовалась ошибка только со str2num для формул, содержащих запятую
Строки 2.sm (13 KiB) downloaded 25 time(s).
#4 Posted: 11/29/2012 10:07:58 AM
Провел маленькое исследование.
В общем если ничего не трогать в настройках, то например команды wfile и rfile работают, и содержимое файла такое :
"sys(sin(1);cos(1);2;1)"
Результат операции num2str такой:
"sys(sin(1),cos(1),2,1)"
При этомзамена разделителя аргументов в настройках никоим образом не влияет на num2str ..
З.ы. вот этот вариант не работает:
S:num2str(sys(sin(x),cos(x),2,1))
S="sys(sin(1),cos(1),2,1)"
wfile(S,test)
rfile(test)=#
а этот работает:
S:num2str(sys(sin(x),cos(x),2,1))
S="sys(sin(1),cos(1),2,1)"
S:strrep(S,",",";" )
wfile(S,test)
rfile(test)=#
В общем если ничего не трогать в настройках, то например команды wfile и rfile работают, и содержимое файла такое :
"sys(sin(1);cos(1);2;1)"
Результат операции num2str такой:
"sys(sin(1),cos(1),2,1)"
При этомзамена разделителя аргументов в настройках никоим образом не влияет на num2str ..
З.ы. вот этот вариант не работает:
S:num2str(sys(sin(x),cos(x),2,1))
S="sys(sin(1),cos(1),2,1)"
wfile(S,test)
rfile(test)=#
а этот работает:
S:num2str(sys(sin(x),cos(x),2,1))
S="sys(sin(1),cos(1),2,1)"
S:strrep(S,",",";" )
wfile(S,test)
rfile(test)=#
Не официальный справочник http://sites.google.com/site/mikkhalichlab/
jabber конференция smath@conference.jabber.ru
1 Pages (4 items)
-
New Posts
-
No New Posts