units and user functions issue - Сообщения

someone can confirm this issue?
seem that:
- it's not related with optimization
- appears only when you redefine an internal variable inside a line() in a user-function, making them dimensionless

best regards,
w3b5urf3r
This is related to changing the function arguments. As your function is defined as f1(x) and you actually change x then if you call your function with f1(A) then A will change as well. Your function f4(x) actually changed its argument too.
Regards,
Radovan
WroteHello w3b5urf3r,
This is related to changing the function arguments. As your function is defined as f1(x) and you actually change x then if you call your function with f1(A) then A will change as well. Your function f4(x) actually changed its argument too.
Regards,
Radovan
Hi Omorr

you're right, f4(x) cause the same issue...
I don't know if it's a bug or a feature, but it's quite strange for me... In my mind I think that
the input variable should not be modified, unless the change it's invoked directly (A:=something)
best regards,
w3b5urf3r
Yes, this is by design. This feature called Output Arguments and it can be used within procedures (functions defined with line(..) at right). This allows to return any number of values from the function. One just should remember that changing value for the variable of the same name as defined in function's arguments for such functions will also override global value of that variable.
Regards.
WroteOne just should remember that changing value for the variable of the same name as defined in function's arguments for such functions will also override global value of that variable.
I am running into a problem where I have f(x,y):=2x+y When I define x:=? and y:=? I get the correct result. However, WHEN I re-define x and y and reuse the function, the answer is ALL over the place. Can someone give an example explaining what Aundrey ment (see quote)
Michelle Pipe Insulation Rev e.smz (336 КиБ) скачан 35 раз(а).
WroteI don't get this
WroteOne just should remember that changing value for the variable of the same name as defined in function's arguments for such functions will also override global value of that variable.
I am running into a problem where I have f(x,y):=2x+y When I define x:=? and y:=? I get the correct result. However, WHEN I re-define x and y and reuse the function, the answer is ALL over the place. Can someone give an example explaining what Aundrey ment (see quote)
Hi,
I think that the image below could be useful to explain the behavior

Using f(a) the input variable - x, will be modified by the function;
Using g(a) the input variable - y, doesn't change.
regards,
w3b5urf3r
See file I attached while you responded. See the grey non print area for page 2 and 3
Wrotew3b5urf3r
See file I attached while you responded. See the grey non print area for page 2 and 3
I see

It's not related with the behavior of this topic, but with this: local and global variables
Simply change your function giving as input all variable parameters - so add: [MATH lang=eng]k.ins[/MATH],[MATH lang=eng]k.pipe[/MATH] (and others, if needed)
regards,
w3b5urf3r
ЦитатаSimply change your function giving as input all variable parameters
I had combined various sheets into one sheet and totally spaced the fact that the other variables were changing. Originally, the k's were fixed.
-
Новые сообщения
-
Нет новых сообщений