Русскоязычный форум закрыт из-за отсутствия активности (доступен только для чтения).
Пожалуйста, пользуйтесь англоязычной его версией. Приносим извинения за неудобства
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Вход


2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline OchkovVF  
#1 Оставлено : 6 августа 2012 г. 7:35:59(UTC)
OchkovVF


Статус: Advanced Member

Группы: Registered, Advanced Member
Зарегистрирован: 03.06.2009(UTC)
Сообщений: 156
Мужчина
Российская Федерация

Сказал «Спасибо»: 200 раз
Поблагодарили: 3 раз в 3 постах
Последние версии SMath позволяют работать с единицами измерений - метрами, килограммами и тд.
Но многие расчеты не требуют этого инструмента. В этом случае его лучше отключить.
Но если он включен, то
a:=1
a+a^2=error
Нельзя складывать величину и ее квадрат и тд!

Wanna join the discussion?! Login to your Форум проекта SMath forum account. Новые регистрации запрещены.

Offline mikka  
#2 Оставлено : 6 августа 2012 г. 19:01:26(UTC)
mikka


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 21.01.2009(UTC)
Сообщений: 182
Мужчина
Откуда: Волгоград

Сказал «Спасибо»: 126 раз
Поблагодарили: 36 раз в 22 постах
А зачем собственно отключать? Просто не пользуйтесь единицами и все!
Не официальный справочник http://sites.google.com/site/mikkhalichlab/
jabber конференция smath@conference.jabber.ru
Offline Rubidy  
#3 Оставлено : 10 августа 2012 г. 23:01:10(UTC)
Rubidy


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 10.08.2012(UTC)
Сообщений: 31
Мужчина
Российская Федерация

Сказал «Спасибо»: 6 раз
Поблагодарили: 1 раз в 1 постах
Автор: OchkovVF Перейти к цитате
Последние версии SMath позволяют работать с единицами измерений - метрами, килограммами и тд.
Но многие расчеты не требуют этого инструмента. В этом случае его лучше отключить.
Но если он включен, то
a:=1
a+a^2=error
Нельзя складывать величину и ее квадрат и тд!


...и для таких случаев жесткой проверки ввести специальную единицу измерения - безразмерную Good
Тогда в документе можно будет записать и полином.
Offline mikka  
#4 Оставлено : 11 августа 2012 г. 16:06:27(UTC)
mikka


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 21.01.2009(UTC)
Сообщений: 182
Мужчина
Откуда: Волгоград

Сказал «Спасибо»: 126 раз
Поблагодарили: 36 раз в 22 постах
Народ да зачем? Можно же просто считать без единиц измерения вообще!!
Не официальный справочник http://sites.google.com/site/mikkhalichlab/
jabber конференция smath@conference.jabber.ru
thanks 2 пользователей поблагодарили mikka за этот пост.
w3b5urf3r_reloaded оставлено 11.08.2012(UTC), mikekaganski оставлено 11.08.2012(UTC)
Offline OchkovVF  
#5 Оставлено : 12 августа 2012 г. 7:29:48(UTC)
OchkovVF


Статус: Advanced Member

Группы: Registered, Advanced Member
Зарегистрирован: 03.06.2009(UTC)
Сообщений: 156
Мужчина
Российская Федерация

Сказал «Спасибо»: 200 раз
Поблагодарили: 3 раз в 3 постах
Автор: mikka Перейти к цитате
Народ да зачем? Можно же просто считать без единиц измерения вообще!!

Конечно, можно!
Можно, вообще, без компьютера считать...Rolleyes

Единицы измерения помогают избегать многих ошибок.
Языки программирования и электронные таблицы (а для многих это основной элемент счета) отучили нас от хорошего стиля счета, когда обрабатываются и числа и размерности.
Подробнее
twt.mpei.ac.ru/ochkov/T-2011/Chapter2-Units.pdf
Offline mikekaganski  
#6 Оставлено : 12 августа 2012 г. 15:49:02(UTC)
mikekaganski


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 19.03.2012(UTC)
Сообщений: 112
Мужчина
Российская Федерация
Откуда: Khabarovsk, Russia

Сказал «Спасибо»: 130 раз
Поблагодарили: 33 раз в 29 постах
Автор: OchkovVF Перейти к цитате
Последние версии SMath позволяют работать с единицами измерений - метрами, килограммами и тд.
Но многие расчеты не требуют этого инструмента. В этом случае его лучше отключить.
Но если он включен, то
a:=1
a+a^2=error
Нельзя складывать величину и ее квадрат и тд!

Автор: OchkovVF Перейти к цитате
Автор: mikka Перейти к цитате
Народ да зачем? Можно же просто считать без единиц измерения вообще!!

Конечно, можно!
Можно, вообще, без компьютера считать...Rolleyes

Единицы измерения помогают избегать многих ошибок.
Языки программирования и электронные таблицы (а для многих это основной элемент счета) отучили нас от хорошего стиля счета, когда обрабатываются и числа и размерности.
Подробнее
twt.mpei.ac.ru/ochkov/T-2011/Chapter2-Units.pdf


Хм. А что вообще значил первый пост?
Я почему-то воспринял его как жалобу на невозможность складывать томаты и форматы. И господин mikka вполне выразил решения этого "затруднения", вовсе не призывая всех срочно забыть о возможности ясно выразить мысль, используя размерности.

А вот теперь я уже не так уверен, что правильно понял посыл топикстартера.

Для пущей ясности:
если нужно избавиться от единиц (например, какие-нибудь эмпирики), было бы концептуально правильно делить размерную величину, переданную в функцию, на её единицы измерения прямо перед расчётом в самой функции. А если несколько алгоритмов (с разными физическими феличинами) используют сходные формулы, создать некую функцию, обрабатывающую безразмерные величины, и несколько функций-"обёрток" для каждого случая, каждая из которых избавляется от своей единицы перед вызовом общего метода.

В этом случае заодно сохраняется "контроль типов", т.к. если передать в такую функцию величину не той природы, это вызовет ошибку.

Хотя, похоже, я пишу банальности, которые в этой ветке все превосходно понимают, не понятно только, ап чём спор.
С уважением,
Михаил Каганский
thanks 2 пользователей поблагодарили mikekaganski за этот пост.
mikka оставлено 12.08.2012(UTC), w3b5urf3r_reloaded оставлено 12.08.2012(UTC)
Offline OchkovVF  
#7 Оставлено : 13 августа 2012 г. 9:15:58(UTC)
OchkovVF


Статус: Advanced Member

Группы: Registered, Advanced Member
Зарегистрирован: 03.06.2009(UTC)
Сообщений: 156
Мужчина
Российская Федерация

Сказал «Спасибо»: 200 раз
Поблагодарили: 3 раз в 3 постах
Автор: mikekaganski Перейти к цитате
Автор: OchkovVF Перейти к цитате
Последние версии SMath позволяют работать с единицами измерений - метрами, килограммами и тд.
Но многие расчеты не требуют этого инструмента. В этом случае его лучше отключить.
Но если он включен, то
a:=1
a+a^2=error
Нельзя складывать величину и ее квадрат и тд!

Автор: OchkovVF Перейти к цитате
Автор: mikka Перейти к цитате
Народ да зачем? Можно же просто считать без единиц измерения вообще!!

Конечно, можно!
Можно, вообще, без компьютера считать...Rolleyes

Единицы измерения помогают избегать многих ошибок.
Языки программирования и электронные таблицы (а для многих это основной элемент счета) отучили нас от хорошего стиля счета, когда обрабатываются и числа и размерности.
Подробнее
twt.mpei.ac.ru/ochkov/T-2011/Chapter2-Units.pdf


Хм. А что вообще значил первый пост?
Я почему-то воспринял его как жалобу на невозможность складывать томаты и форматы. И господин mikka вполне выразил решения этого "затруднения", вовсе не призывая всех срочно забыть о возможности ясно выразить мысль, используя размерности.

А вот теперь я уже не так уверен, что правильно понял посыл топикстартера.

Для пущей ясности:
если нужно избавиться от единиц (например, какие-нибудь эмпирики), было бы концептуально правильно делить размерную величину, переданную в функцию, на её единицы измерения прямо перед расчётом в самой функции. А если несколько алгоритмов (с разными физическими феличинами) используют сходные формулы, создать некую функцию, обрабатывающую безразмерные величины, и несколько функций-"обёрток" для каждого случая, каждая из которых избавляется от своей единицы перед вызовом общего метода.

В этом случае заодно сохраняется "контроль типов", т.к. если передать в такую функцию величину не той природы, это вызовет ошибку.

Хотя, похоже, я пишу банальности, которые в этой ветке все превосходно понимают, не понятно только, ап чём спор.

Спор "ап том", что если включен механизм контроля размерностей, то
а:=2
a+a^2=error, а не 6
Нельзя складывать величину и ее квадрат.

Offline mikekaganski  
#8 Оставлено : 13 августа 2012 г. 9:23:41(UTC)
mikekaganski


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 19.03.2012(UTC)
Сообщений: 112
Мужчина
Российская Федерация
Откуда: Khabarovsk, Russia

Сказал «Спасибо»: 130 раз
Поблагодарили: 33 раз в 29 постах
Вы это утверждаете (т.е. описываете существующее поведение программы на Вашем компьютере) или предлагаете (к реализации в будущих версиях)?
С уважением,
Михаил Каганский
Offline kmihaylovich  
#9 Оставлено : 13 августа 2012 г. 9:48:36(UTC)
kmihaylovich


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 24.07.2008(UTC)
Сообщений: 97
Откуда: Питер

Сказал(а) «Спасибо»: 18 раз
Поблагодарили: 3 раз в 3 постах
Такого в программе нет, но, подозреваю, что в некоторых случаях было бы очень удобно.

Если суммировать всё выше сказанное, то просьба сделать такой режим программы, в котором выражение 5+5^2 будет выдавать ошибку при попытке вычисления (так как слагаемые имеют разную степень).
Offline OchkovVF  
#10 Оставлено : 13 августа 2012 г. 11:23:10(UTC)
OchkovVF


Статус: Advanced Member

Группы: Registered, Advanced Member
Зарегистрирован: 03.06.2009(UTC)
Сообщений: 156
Мужчина
Российская Федерация

Сказал «Спасибо»: 200 раз
Поблагодарили: 3 раз в 3 постах
Автор: kmihaylovich Перейти к цитате
Такого в программе нет, но, подозреваю, что в некоторых случаях было бы очень удобно.

Если суммировать всё выше сказанное, то просьба сделать такой режим программы, в котором выражение 5+5^2 будет выдавать ошибку при попытке вычисления (так как слагаемые имеют разную степень).

При включенном режиме контроля размерностей должно быть так:

a:=5
a+a^2=error

но
5+5^2=30

Отредактировано пользователем 13 августа 2012 г. 11:25:32(UTC)  | Причина: Не указана

Offline mikekaganski  
#11 Оставлено : 13 августа 2012 г. 12:12:22(UTC)
mikekaganski


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 19.03.2012(UTC)
Сообщений: 112
Мужчина
Российская Федерация
Откуда: Khabarovsk, Russia

Сказал «Спасибо»: 130 раз
Поблагодарили: 33 раз в 29 постах
А можно поподробнее концепцию полезности этого режима?

Честно, Валерий Фёдорович, не могу понять.
Во-первых, о "границах дозволенного".
Пусть я представил себе, что a - это длина бруса.
Насколько допустимо a + ( a * b )?
А вдруг b - это не число брусьев, а их ширина?

Как быть с выражениями типа sin(x)+sin(y)^2?

А что делать с такой ситуацией:
f(x):=x^2*очень_сложно_вычисляемый_коэффициент(x)
a:=5
a+eval(f(a)) ?

Во-вторых, о методологическом смысле. Почему вообще может возникнуть запрет на сложение безразмерных чисел? Только потому, что кто-то вообразил, что всё понятие числа укладывается в рамки "физической величины"?
Если ввести такой режим, кому может это помочь? Человеку, который последовательно использует единицы измерения и избавляется от них только в строго обоснованных случаях?
Или человеку, который сознательно не использует единицы измерения, поскольку его задачи именно чисто математические и не ограничены "физическими смыслами" произведений, степеней, производных и т.д.?
Или человеку, который ленится мыслить и выражать свои мысли строго и чётко, и поэтому не хочет использовать единицы измерения? И поэтому ему сильно поможет, что он не может сложить длины с площадями, но при этом он с удовольствием сможет сложить градусы и радианы, или метры с футами? И сочетать уклоны (мм/м) и влагосодержания (г/кг)?

Компьютер не может думать за человека. Особенно в случае математики и программ математического характера. Помогать учиться мыслить - это да, но не позволять говорить: "Да складывать число и его квадрат нельзя! Почему? Потому что SMath этого не даёт!"

Единицы измерения - это явное выражение концепции физической величины. Это основы метрологии. И не надо вводить ещё некий "режим", призванный делать то же самое, но при этом математически (и логически) непоследовательно, и методически непроработанно и необоснованно.
С уважением,
Михаил Каганский
Offline OchkovVF  
#12 Оставлено : 13 августа 2012 г. 12:42:26(UTC)
OchkovVF


Статус: Advanced Member

Группы: Registered, Advanced Member
Зарегистрирован: 03.06.2009(UTC)
Сообщений: 156
Мужчина
Российская Федерация

Сказал «Спасибо»: 200 раз
Поблагодарили: 3 раз в 3 постах
Автор: mikekaganski Перейти к цитате
А можно поподробнее концепцию полезности этого режима?

Честно, Валерий Фёдорович, не могу понять.
Во-первых, о "границах дозволенного".
Пусть я представил себе, что a - это длина бруса.
Насколько допустимо a + ( a * b )?
А вдруг b - это не число брусьев, а их ширина?

Как быть с выражениями типа sin(x)+sin(y)^2?

А что делать с такой ситуацией:
f(x):=x^2*очень_сложно_вычисляемый_коэффициент(x)
a:=5
a+eval(f(a)) ?

Во-вторых, о методологическом смысле. Почему вообще может возникнуть запрет на сложение безразмерных чисел? Только потому, что кто-то вообразил, что всё понятие числа укладывается в рамки "физической величины"?
Если ввести такой режим, кому может это помочь? Человеку, который последовательно использует единицы измерения и избавляется от них только в строго обоснованных случаях?
Или человеку, который сознательно не использует единицы измерения, поскольку его задачи именно чисто математические и не ограничены "физическими смыслами" произведений, степеней, производных и т.д.?
Или человеку, который ленится мыслить и выражать свои мысли строго и чётко, и поэтому не хочет использовать единицы измерения? И поэтому ему сильно поможет, что он не может сложить длины с площадями, но при этом он с удовольствием сможет сложить градусы и радианы, или метры с футами? И сочетать уклоны (мм/м) и влагосодержания (г/кг)?

Компьютер не может думать за человека. Особенно в случае математики и программ математического характера. Помогать учиться мыслить - это да, но не позволять говорить: "Да складывать число и его квадрат нельзя! Почему? Потому что SMath этого не даёт!"

Единицы измерения - это явное выражение концепции физической величины. Это основы метрологии. И не надо вводить ещё некий "режим", призванный делать то же самое, но при этом математически (и логически) непоследовательно, и методически непроработанно и необоснованно.

Читаю в задачнике по математике:
Дана функция f(x)=...
Найти x, при которых производная функции больше самой функции.
Я говорю автору, замените "самой функции" на, допустим, пяти.
В сути задачи ничего не изменится, но мы обойдем скльзкое место - нельзя сравнивать функцию и ее производную, в этом сравнении нет никакого смысла. Более того, тут кроется ошибка - см. выше.


thanks 1 пользователь поблагодарил OchkovVF за этот пост.
mikka оставлено 13.08.2012(UTC)
Offline mikekaganski  
#13 Оставлено : 13 августа 2012 г. 13:11:12(UTC)
mikekaganski


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 19.03.2012(UTC)
Сообщений: 112
Мужчина
Российская Федерация
Откуда: Khabarovsk, Russia

Сказал «Спасибо»: 130 раз
Поблагодарили: 33 раз в 29 постах
Опять Вы ограничиваетесь неким "смыслом" - это может быть физический смысл, или геометрический, или ...
"Смысл" математического понятия служит двум целям.
Во-первых, помогает осознать понятие при знакомстве с ним.
Во-вторых, указывает известные явления (реального) мира, описываемые этим понятием.
Но математическое понятие шире этого. И при нахождении новых зависимостей, описываемых этим понятием, появятся новые смыслы. Математика - это наука, требующая бесконечного воображения, естественно, обученного, но не ограниченного.
С уважением,
Михаил Каганский
Offline kmihaylovich  
#14 Оставлено : 13 августа 2012 г. 13:57:06(UTC)
kmihaylovich


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 24.07.2008(UTC)
Сообщений: 97
Откуда: Питер

Сказал(а) «Спасибо»: 18 раз
Поблагодарили: 3 раз в 3 постах
Автор: OchkovVF Перейти к цитате
a:=5
a+a^2=error

но
5+5^2=30

А вот тут уже и я не понял. Если указано что a=5, то какая разница между a и 5?

Автор: mikekaganski Перейти к цитате
А можно поподробнее концепцию полезности этого режима?

Мне кажется это могло бы быть полезно, к примеру, при использовании расчётов, изначально подготовленных без единиц измерения (и не важно, было ли это сделано в SMath Studio, в Excel или в методичке) - это бы дало возможность выявления ошибок, допущенных в оригинальном документе.
Offline OchkovVF  
#15 Оставлено : 13 августа 2012 г. 15:30:21(UTC)
OchkovVF


Статус: Advanced Member

Группы: Registered, Advanced Member
Зарегистрирован: 03.06.2009(UTC)
Сообщений: 156
Мужчина
Российская Федерация

Сказал «Спасибо»: 200 раз
Поблагодарили: 3 раз в 3 постах
Автор: mikekaganski Перейти к цитате
Опять Вы ограничиваетесь неким "смыслом" - это может быть физический смысл, или геометрический, или ...
"Смысл" математического понятия служит двум целям.
Во-первых, помогает осознать понятие при знакомстве с ним.
Во-вторых, указывает известные явления (реального) мира, описываемые этим понятием.
Но математическое понятие шире этого. И при нахождении новых зависимостей, описываемых этим понятием, появятся новые смыслы. Математика - это наука, требующая бесконечного воображения, естественно, обученного, но не ограниченного.

Вот и я предлагаю иметь два режима работы SMath:
- свободный математический (единицы измерения отключены)
- физический, когда нельзя складывать метры с килограммами, величину с ее квадратом или синусом, функцию с ее производной и тд

Offline w3b5urf3r_reloaded  
#16 Оставлено : 13 августа 2012 г. 16:38:37(UTC)
w3b5urf3r_reloaded


Статус: Member

Группы: Registered, Advanced Member
Зарегистрирован: 28.02.2012(UTC)
Сообщений: 10
Мужчина
Италия
Откуда: Italy

Сказал «Спасибо»: 1947 раз
Поблагодарили: 3 раз в 3 постах
привет всем

честно говоря, я немного потерял Wacko

Я думаю, что только улучшение будет показано в приложении (правая колонка) и Bult-функцию, чтобы безразмерные данной переменной (которые могут уже быть построен как фрагмент с немного терпения)

можно было бы думать, однако, ввести четвертый тип оценки, безразмерный, но SMath это программа, и потребности правил ...
(2 м) + (2 м) ^ 2 = 2 + 2 ^ 2 (все в м) или 200 +200 ^ 2 (все в см) или 2 + 200 ^ 2 (смесь)?
и в результате сумма смешанных подразделений (не связаны отношениями власти) (2 Вт) + (2 м) = 2 + 2 или что-то еще?

Прости меня за язык, я использую переводчика Google Blush


С наилучшими пожеланиями,

w3b5urf3r

Отредактировано пользователем 13 августа 2012 г. 17:41:28(UTC)  | Причина: Не указана

Вложение(я):
units.sm (41kb) загружен 28 раз(а).
Пользователь w3b5urf3r_reloaded прикрепил следующие файлы:
units.png
thanks 1 пользователь поблагодарил w3b5urf3r_reloaded за этот пост.
mikka оставлено 13.08.2012(UTC)
Offline mikekaganski  
#17 Оставлено : 14 августа 2012 г. 1:47:16(UTC)
mikekaganski


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 19.03.2012(UTC)
Сообщений: 112
Мужчина
Российская Федерация
Откуда: Khabarovsk, Russia

Сказал «Спасибо»: 130 раз
Поблагодарили: 33 раз в 29 постах
Насчёт dimLess(a).

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

a:2m

bBiggrinimLess(a;cm)

c:b^2

dBiggrinimmed(c;cm^2)
здесь явно видно, что произошло.


bBiggrinimLess(a)

c:b^2

dBiggrinimmed(c)
???

И вообще, "простое" избавление от единиц может быть основано только на принятой "базовой" системе единиц - а это лишь соглашение, которое может изменяться со временем.
Банально:

a:5km

b:a/m

c:a/cm

dBiggrinimLess(a)

Очевидна разница значений b (число метров в отрезке) и c (число сантиметров в отрезке). А чему равна d? Числу чего в отрезке? Если бы я жил в Британии, я бы, возможно, удивился, увидев там 5000. И я могу понять человека, который бы ожидал увидеть там 5 на основании того, что первоначальное присвоение было произведено в км.

Можно было бы представить себе функцию, которая не избавляется от единиц, а сохраняет единицы в отдельной переменной для последующего использования. Мне кажется, что избавляться от единиц нужно только временно, для использования в функциях, требующих безразмерных величин. По крайней мере, я не знаю других причин. Так вот, после преобразований можно было бы осмысленно возвращать размерности:

f(x):line(unitlessVarBiggrinimLess(x;unitsBackup);y:linterp(unitlessVar;vec1;vec2);dimmed(y;unitsBackup^2);3;1)

И даже в такой (часто очень желательной) форме нужно отдавать себе отчёт в применимости такой операции. Так, в этом примере ещё надо, чтобы интерполируемая зависимость не была связана с единицами измерений - а где такую взять для нетривиального случая? Так что даже здесь было бы лучше, если бы большее число функций программы просто позволяли работать с единицами, а не требовали избавляться от них.
С уважением,
Михаил Каганский
thanks 1 пользователь поблагодарил mikekaganski за этот пост.
w3b5urf3r_reloaded оставлено 14.08.2012(UTC)
Offline OchkovVF  
#18 Оставлено : 14 августа 2012 г. 3:07:29(UTC)
OchkovVF


Статус: Advanced Member

Группы: Registered, Advanced Member
Зарегистрирован: 03.06.2009(UTC)
Сообщений: 156
Мужчина
Российская Федерация

Сказал «Спасибо»: 200 раз
Поблагодарили: 3 раз в 3 постах
Автор: w3b5urf3r_reloaded Перейти к цитате
привет всем

честно говоря, я немного потерял Wacko

Я думаю, что только улучшение будет показано в приложении (правая колонка) и Bult-функцию, чтобы безразмерные данной переменной (которые могут уже быть построен как фрагмент с немного терпения)

можно было бы думать, однако, ввести четвертый тип оценки, безразмерный, но SMath это программа, и потребности правил ...
(2 м) + (2 м) ^ 2 = 2 + 2 ^ 2 (все в м) или 200 +200 ^ 2 (все в см) или 2 + 200 ^ 2 (смесь)?
и в результате сумма смешанных подразделений (не связаны отношениями власти) (2 Вт) + (2 м) = 2 + 2 или что-то еще?

Прости меня за язык, я использую переводчика Google Blush


С наилучшими пожеланиями,

w3b5urf3r

Ok
a:=5
a+a^2= not 30 and error but a+a^2

Отредактировано пользователем 14 августа 2012 г. 6:05:15(UTC)  | Причина: Не указана

Offline w3b5urf3r_reloaded  
#19 Оставлено : 14 августа 2012 г. 3:18:21(UTC)
w3b5urf3r_reloaded


Статус: Member

Группы: Registered, Advanced Member
Зарегистрирован: 28.02.2012(UTC)
Сообщений: 10
Мужчина
Италия
Откуда: Italy

Сказал «Спасибо»: 1947 раз
Поблагодарили: 3 раз в 3 постах
Привет,

Автор: mikekaganski Перейти к цитате
Насчёт dimLess(a).

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

a:2m

bBiggrinimLess(a;cm)

c:b^2

dBiggrinimmed(c;cm^2)
здесь явно видно, что произошло.


bBiggrinimLess(a)

c:b^2

dBiggrinimmed(c)
???

И вообще, "простое" избавление от единиц может быть основано только на принятой "базовой" системе единиц - а это лишь соглашение, которое может изменяться со временем.
Банально:

a:5km

b:a/m

c:a/cm

dBiggrinimLess(a)

Очевидна разница значений b (число метров в отрезке) и c (число сантиметров в отрезке). А чему равна d? Числу чего в отрезке? Если бы я жил в Британии, я бы, возможно, удивился, увидев там 5000. И я могу понять человека, который бы ожидал увидеть там 5 на основании того, что первоначальное присвоение было произведено в км.


Конечно, на самом деле фрагмент в приложении выше, родился именно для использования в SMath (только), когда встроенные функции требуют безразмерные переменные, как и в linterp(#) (используйте b:=a/UoM(a) или b:=dimLess(a) , чтобы получить безразмерное значение в единицы SMath умолчанию UoM () для получения указанных единицы); "базовой" системе единиц является внутренним SMath умолчанию система единиц (я обновил пример, чтобы лучше показать, как это работает).
Восстановление блока, очевидно, должны быть сделаны со знанием фактов, в противном случае результат будет как чистый безразмерное число, не физическом смысле, и даже это просто ошибка.

Автор: mikekaganski Перейти к цитате
Можно было бы представить себе функцию, которая не избавляется от единиц, а сохраняет единицы в отдельной переменной для последующего использования. Мне кажется, что избавляться от единиц нужно только временно, для использования в функциях, требующих безразмерных величин. По крайней мере, я не знаю других причин. Так вот, после преобразований можно было бы осмысленно возвращать размерности:

f(x):line(unitlessVarBiggrinimLess(x;unitsBackup);y:linterp(unitlessVar;vec1;vec2);dimmed(y;unitsBackup^2);3;1)

И даже в такой (часто очень желательной) форме нужно отдавать себе отчёт в применимости такой операции. Так, в этом примере ещё надо, чтобы интерполируемая зависимость не была связана с единицами измерений - а где такую взять для нетривиального случая? Так что даже здесь было бы лучше, если бы большее число функций программы просто позволяли работать с единицами, а не требовали избавляться от них.


Я согласен Good

Отредактировано пользователем 14 августа 2012 г. 3:55:52(UTC)  | Причина: Не указана

Offline OchkovVF  
#20 Оставлено : 14 августа 2012 г. 6:12:19(UTC)
OchkovVF


Статус: Advanced Member

Группы: Registered, Advanced Member
Зарегистрирован: 03.06.2009(UTC)
Сообщений: 156
Мужчина
Российская Федерация

Сказал «Спасибо»: 200 раз
Поблагодарили: 3 раз в 3 постах
А почему, собственно, функция linterp и другие подобные должна работать только с безразмерными аргументами. В Mathcad Prime эту не доработку исправляют.

Отредактировано пользователем 14 августа 2012 г. 10:58:19(UTC)  | Причина: Не указана

Пользователи, просматривающие эту тему
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.