Problem with 'substitute' in Mathcad15
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Problem with 'substitute' in Mathcad15
I tried to follow advice given in another thread to do this (See file):
Mathcad complains about the units of 's', but that's not the problem. I want to substitute i*omega for s. Under Symbolics, Variable > substitute is greyed out. Pressing CTRL-SHFT-. gives a place holder, which disappears, followed by the arrow shown. I tried re-starting Mathcad, but I still get the same problem. Of course, Mathcad says s is undefined, but I suppose it wouldn't need to be defined for the substitution operation.
Solved! Go to Solution.
- Labels:
-
Other
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Not sure what you are looking for at the end of the day, but wouldn't Terry's approach be all you need? Without any symbolic "substitute".
Or is your goal to apply some further symbolic manipulations on F after the substitution?
P.S.: I would suggest to use a literal index for your constants omega.1, etc. instead of a vector index. The way you defined those constants you had defined a 5 element vector omega (first element being 0 as Mathcads first index is by default 0, not 1). I guess you did not intend to define a vector omega, right?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Hi,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I adopted your syntax, but I still can't get 'substitute' to appear.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
You should define omega as an independent variable and define the constant values of omega with the dot and not omega as a vector.. Furthermore I think that you will find difficulties when plotting the function with omega defined as a vector.
About the substitution you should follow the following procedure:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Hi,
Enclosed is file. Note the k:=k etc at the top of the file
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Thank you. The Help is totally silent on the curious need to 'assert' the symbols k, lambda and omega. I will need to wrie a new worksheet to see if the issue is resolved.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Thank you. Do you mean that the subscript for omega-1 should be '.1', and for omega-n should be '.n'? Is this syntax explained anywhere?
How did you decide about the need for 'Independent variable range' and how to define it?
I think this is getting impracticably complicated, but I see it produces what looks like the correct magnitude response.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
In the form I used to solve your problem, I cannot use a vector as an independent variable of a function and use constants with the same name as the independent variable. I can define constants as elements of a vector that has a name different from the independent variable. The constant pulsation, for example 1 / (RC), I define it as: omega.1: = 1 / (R C). I have never used vectors as independent variables.
In recent years I have published here, in this community, some files related to analog and digital filters, for example this:https://community.ptc.com/t5/PTC-Mathcad/4-HIGH-PASS-I-order-DIGITAL-FILTERS-EQUIVALENT-TO-LINEAR-CLA-pdf/m-p/449394#M176170
but there are others. In these files the criteria for choosing sampling frequencies are missing. Gap completed in new versions.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I understand (for once!). I didn't intend to introduce vectors; I used [ to set subscripts instead of '.'.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I can now get 'substitute' to appear by using the symbolic keyword menu, but now 'i' is an undefined variable. See teh attached file.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
That's correct, i is generally an undefined variable in Mathcad.
In order to get i, the unit of imaginary numbers, you have to type 1i.
But if you need 2*pi*i, you can also type 2i*p[Ctl-G]. The important part is that i is immediately preceded by a number.
Success!
Luc
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I will try to do as you advise.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
The 'vector' arrow was added by Mathcad, not me. I quite understand that omega is not a vector.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
In short, you should select the expression of which you want to substitute one variable and use the 'substitute' from the symbolics toolbar, not from the menu.
(The menu will allow you to do symbolics, but they are not 'live' symbolics: if you change the expression later, the substitution will not follow suit automatically; you'd have to redo the substitution...)
To get the toolbar, select (from the menu): View=>Toolbar=>Symbolic.
Success!
Luc
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Yes, I discovered that one has to use the menu. I wish the Help was a bit more forthcoming on this subject, instead of showing very simple examples which few would need help with.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Hi,
The above is a problem as s is undefined so MathCad is taking the value of s as 1 second by default.
In the first function F (which has a green highlight) uses s as a parameter to the function so s is defined in the right hand side as it gets passed into the function. s's scope is limited to the function F. It is not defined as s in the scope of the document.
The green highlight shows that F is also a predefined unit in mathcad. Good habit is to use more than one symbol to define functions
In the above when you call F(the first one) by use of F(gamma). Gamma is defined on the worksheet so the message "undefined variable" message disappears.
Note the second function F(now with a green highlight) is also a redefinition of the first F.
F2 is now a function that does not overwrite first function F.
F2 has as a parameter omega. F2 is simply F with a passed in parameter i*omega that is substituted for s in F
Cheers
Terry
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Yes, F is a predefined unit, for Farad.
But in this case F gets a green underline because F() is a function (too), the F-distribution...
Luc
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I think I understand so far. But it's the next step that fails. Neither Symbolics > Variable > Substitute (which is greyed out) or CTRL-SHFT-. give me the keyword 'substitiute' and its placeholders.
By the way, that's 'lambda', not 'gamma'.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Not sure what you are looking for at the end of the day, but wouldn't Terry's approach be all you need? Without any symbolic "substitute".
Or is your goal to apply some further symbolic manipulations on F after the substitution?
P.S.: I would suggest to use a literal index for your constants omega.1, etc. instead of a vector index. The way you defined those constants you had defined a 5 element vector omega (first element being 0 as Mathcads first index is by default 0, not 1). I guess you did not intend to define a vector omega, right?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
That looks a lot simpler. BIG hidden error using the wrong keys to get the subscripts. That's what comes of using Mathcad only infrequently. When I've used it intensively in the past, I was defining vectors very often.
