1 Pages (4 items)
Error in symbolic evealuation - Messages
#1 Posted: 3/8/2022 3:46:17 PM
test_Cnd.sm (7 KiB) downloaded 26 time(s).
The strange problem happens during symbolic evaluation of the function
Cnd.
The expression ii=rows(t) was interpreted in a wrong way.
If I replace "ii" with number 2 the worksheet works fine.
The result of rows(t) is correct and equal to 2.
You can check the behavior changing the condition in "if" operator to 0 or 1.
The strange problem happens during symbolic evaluation of the function
Cnd.
The expression ii=rows(t) was interpreted in a wrong way.
If I replace "ii" with number 2 the worksheet works fine.
The result of rows(t) is correct and equal to 2.
You can check the behavior changing the condition in "if" operator to 0 or 1.
#2 Posted: 3/8/2022 9:46:24 PM
Hi. Notice that the degree of the numerator polynomial is not always equal to the degree of the denominator polynomial. Also the number of rows in rows(tt) for tt=numden(H(z)) is always going to equal two, and is not related to the degree of none of the previous polynomials.
I think what you have to do is create separate loops for numerator and denominator, and you can get the degree of the polynomials in this way:

Finally, you can create the loop in the range ii..0 instead of 0..ii and thus avoid having to use reverse(), which the SMath token processor sometimes doesn't like.
Best regards.
Alvaro.
I think what you have to do is create separate loops for numerator and denominator, and you can get the degree of the polynomials in this way:
Finally, you can create the loop in the range ii..0 instead of 0..ii and thus avoid having to use reverse(), which the SMath token processor sometimes doesn't like.
Best regards.
Alvaro.
1 users liked this post
sergio 3/9/2022 5:52:00 AM
#3 Posted: 3/9/2022 11:30:07 AM
Hi Alvaro,
The worksheet is correct, the transfer function presented is from a real working project (digital PFC controller).
If the requested coefficient doesn't exist maple(coeff()) returns 0. I think it is correct behavior.
Sorry, I posted the report in a rush, so it might need more clarification.
The problem is that variable ii has correct value =2, you can check it easily.
If you manually set the loop range [0..2] - the worksheet works, but with the loop range [0..ii] - fails.
I have no reasonable explanation rather than a bug.
The worksheet is correct, the transfer function presented is from a real working project (digital PFC controller).
If the requested coefficient doesn't exist maple(coeff()) returns 0. I think it is correct behavior.
Sorry, I posted the report in a rush, so it might need more clarification.
The problem is that variable ii has correct value =2, you can check it easily.
If you manually set the loop range [0..2] - the worksheet works, but with the loop range [0..ii] - fails.
I have no reasonable explanation rather than a bug.
#4 Posted: 3/9/2022 2:28:24 PM
Wrote... The problem is that variable ii has correct value =2, you can check it easily.
If you manually set the loop range [0..2] - the worksheet works, but with the loop range [0..ii] - fails.
I have no reasonable explanation rather than a bug.
Hi. Yes, same thing here, where SMath cannot evaluate rows():
https://en.smath.com/forum/yaf_postsm69034_Modified-Nodal-Analysis.aspx#post69034
Best regards
Alvaro.
1 Pages (4 items)
-
New Posts
-
No New Posts