# Squareing Matrix(?) in MATLAB

1. Feb 19, 2008

### krnhseya

Hello, I've got quick questions.
1. When I have a matrix, x, and try to get different values for each x (given y = (x^2)+b),
I get this error.

??? Error using ==> mpower
Matrix must be square.

2. x is [1x101] double according to MATLAB and I've had this problem when I was taking derivative as well. I've lost numbers throughout the derivative, which i understands.
so x' = [1x100] and x'' = [1x99] and so forth.

What's the best way to solve these problems.
Thank you.

2. Feb 19, 2008

Can you post your code? I don't really understand your question.

3. Feb 19, 2008

### krnhseya

>> x=sqrt(500/105);
>> a=[0:0.1:100];
>> b=[0:1:100];
>> z=a/(2*(sqrt(3000*15)));
>> p=x(sqrt(1-((z)^2)))
??? Error using ==> mpower
Matrix must be square.

this is not the direct problem but it's basically the same thing.
Why am I getting this error?

I will hold onto my second question for now.

 another question...

>> x=A*(exp(-(z*wn*t)))*(sin(wd*t))
??? Error using ==> mtimes
Inner matrix dimensions must agree.

everything is numeric except t is in matrix...

Last edited: Feb 19, 2008
4. Feb 20, 2008

### las3rjock

It looks like you are using the matrix power operator ^ where you should be using the array power operator .^ . The matrix power operator A^n multiplies the matrix A by itself n times, which means the number of columns in A must be equal to the number of rows in A, which means that A must be square (size(A) = [m x m] for some positive integer m). The array power operator A.^n raises each element of A to the nth power, and therefore has no restrictions on the dimensions of A.

Once again, it looks like you are using a matrix operator where you should be using an array operator. Try (exp(-z*wn*t))) .* (sin(wd*t))

5. Feb 20, 2008

### krnhseya

thanks a lot! i've got another question...sorry.

i am given that function and there are two independent variables, t and a, which i posted above. i am told that it's initial displacement is zero but it "dies out" after about t=2.
so basically, after x has been graphed up to t<2 and when t hits 2 seconds mark, i think everything converges to zero i believe.

i tried everything without using mfile but i couldnt figure out so i thought i should use mfile instead so i've retyped everything under...

t=[0:0.1:10];
b=[0:1:100];

if 0=<t<2 (BTW, if i want less than equal to 0, i should use =< instead of <= right?)
all the components that vary by a and b goes under if statement including equation of x
else
x=0
end
plot(t,x)

that's what i've tried but it doesnt seem like i am getting what i wanted. it graphes entire 10s and under mfile, it states something like i can't use this, "0=<t<2", because it's in matrix form but i can't think of any other way to approact this problem.
i've thought about while loop and etc. but it seems like that my if,while,and other statements are not working because of how t is in matrix.

i really appreciate your help.

6. Oct 15, 2009

### Sarah1287

Help with integrating function in Matlab

Hi I'm trying to integrate a function func1 in Matlab but I keep getting errors I realy don't know what I'm doing wrong. Can anyone tell me?

Here is the code Im using:

function [ f1 ] = func1( E, Delta, kB, Temp )
%func1: calculates integrand for eqn 1
% Detailed explanation goes here
f1=(tanh(sqrt(((E*E)+(Delta*Delta))))/(2*kB*Temp))/(2*(sqrt(((E*E)+(Delta*Delta)))));
end

Command line code:

>> hbar=1.054E-34; Tdebye=420; h=6.626E-34; kB1= 1.38065E-23;
>>fdebye=(Tdebye*kB1)/h;
>> Temp1=0.5;
>> Delta1=0;
>> a=hbar*fdebye;

??? Error using ==> mtimes
Inner matrix dimensions must agree.

Error in ==> func1 at 4
f1=(tanh(sqrt(((E*E)+(Delta*Delta))))/(2*kB*Temp))/(2*(sqrt(((E*E)+(Delta*Delta)))));

Error in ==> @(E1)func1(E1,0,1.38065E-23,0.5)

Error in ==> quad at 77
y = f(x, varargin{:});