Skip to main content
1-Visitor
February 20, 2012
Solved

Use of solve block with vector inputs

  • February 20, 2012
  • 20 replies
  • 7050 views

Hi,

I'm trying to do a tolerance analysis on an actuation system so that the inputs to the solve block are vectors containing minimum, nominal, and maximum dimensions of parts of interest.

I've attached the file.

Currently, the solve block "kinda" works except for the followings:

  1. the answer it gives is a scalar
  2. if the input vectors contain same values: all nominal, all minimum, or all maximum, scalar answer that the solve blocks calculates has a correct value
  3. as soon as I mix elements in the vectors: nominal, maximum, and minimum, then the solve block produces a ball-park value scalar.

Maybe the vectorizations in the file (especially, inside the block) isn't right?

The bottomline is I need a vector output corresponding to different tolerances.

Can anyone help me with this?

Thanks in advance,

Eric

Best answer by RichardJ

You defined Xp as a scalar, so that's what you got out of the solve block. If you want a vector you must define it as a vector.

You need to be careful when you multiply two vectors. Unless you explicitly vectorize, what you get is a scalar (the inner product), not a vector. I changed this in several places in the solve block to what I think you actually want. If I was wrong, you will have to change them back.

20 replies

19-Tanzanite
February 20, 2012

You can't do it like that. You have to make the solve block into a function, then call the function for each set of parameters. If you don't know how to do that please post a version of the worksheet that has scalar values, not vectors (sorry, too busy/lazy to modify it myself).

EricHong1-VisitorAuthor
1-Visitor
February 20, 2012
19-Tanzanite
February 20, 2012

You were 99% of the way there already.

EricHong1-VisitorAuthor
1-Visitor
February 20, 2012

So, it seems like my tolerance value can only be a scalar. What I actually wanted to was to use a random normal distribution function to do a 3 sigma like analysis.

When I replaced

d_theta_crnk

with

rnom(100, theta_crnk_o, one sigma)

Mathcad didn't like that.

Is it possible to use a vector for d_theta_crnk?

Thank you very much for your help,

Eric