vecfun.1.9

所属分类:matlab编程
开发工具:matlab
文件大小:83KB
下载次数:15
上传日期:2008-04-26 13:44:20
上 传 者楚燕
说明:  matlab 多参数积分工具箱 multivariable calculus toolbox
(matlab multi-parameter integral multivariable calculus toolbox toolbox)

文件列表:
vecfun (0, 2003-09-03)
vecfun\@scalar (0, 2003-09-03)
vecfun\@scalar\abs.m (374, 2003-09-03)
vecfun\@scalar\acos.m (330, 2003-09-03)
vecfun\@scalar\acosh.m (312, 2003-09-03)
vecfun\@scalar\acot.m (290, 2003-09-03)
vecfun\@scalar\acoth.m (318, 2003-09-03)
vecfun\@scalar\angle.m (322, 2003-09-03)
vecfun\@scalar\asin.m (326, 2003-09-03)
vecfun\@scalar\asinh.m (308, 2003-09-03)
vecfun\@scalar\atan.m (281, 2003-09-03)
vecfun\@scalar\atanh.m (313, 2003-09-03)
vecfun\@scalar\cart2cyl.m (1202, 2003-09-03)
vecfun\@scalar\cart2sph.m (1410, 2003-09-03)
vecfun\@scalar\conj.m (358, 2003-09-03)
vecfun\@scalar\cos.m (262, 2003-09-03)
vecfun\@scalar\cosh.m (290, 2003-09-03)
vecfun\@scalar\cot.m (268, 2003-09-03)
vecfun\@scalar\coth.m (296, 2003-09-03)
vecfun\@scalar\ctranspose.m (177, 2003-09-03)
vecfun\@scalar\cyl2cart.m (1203, 2003-09-03)
vecfun\@scalar\cyl2sph.m (369, 2003-09-03)
vecfun\@scalar\display.m (354, 2003-09-03)
vecfun\@scalar\eq.m (670, 2003-09-03)
vecfun\@scalar\exp.m (360, 2003-09-03)
vecfun\@scalar\expand.m (394, 2003-09-03)
vecfun\@scalar\expr.m (238, 2003-09-03)
vecfun\@scalar\formula.m (317, 2003-09-03)
vecfun\@scalar\ge.m (686, 2003-09-03)
vecfun\@scalar\grad.m (580, 2003-09-03)
vecfun\@scalar\gt.m (674, 2003-09-03)
vecfun\@scalar\horzcat.m (892, 2003-09-03)
vecfun\@scalar\imag.m (292, 2003-09-03)
vecfun\@scalar\int.m (2075, 2003-09-03)
vecfun\@scalar\isconst.m (689, 2003-09-03)
vecfun\@scalar\lapl.m (551, 2003-09-03)
vecfun\@scalar\le.m (685, 2003-09-03)
vecfun\@scalar\log.m (369, 2003-09-03)
vecfun\@scalar\log10.m (388, 2003-09-03)
vecfun\@scalar\lt.m (673, 2003-09-03)
... ...

Multivariable Calculus Toolbox Ver. 1.9 ======================================= Date: 2002-12-06. Author: B. Rasmus Anthin. WHAT IS IT ---------- This toolbox contains two classes for the moment: "scalar" and "vector". A scalar object is a function of three variables in either Cartesian (x,y,z), spherical (R,theta,phi) or cylindrical (r,phi,z) coordinates. The constructor can be used in many different ways. It is adviceable to first run "vecinit" in order to create some easy to use variables (type "help vecinit" for more info). If you have typed "vecinit cart" then you can use the three variable objects x,y and z to create new objects lik this: f=sin(x+y)-z*y^2 Scalar function: f(x,y,z) = sin(x+y)-z*y^2 Vector objects are 3D-vector functions of three variables, ie three dimensional fields: H=[-y x 0] will produce a "magnetic field" which can easily be plotted by writing: H=setrange(H,[-2 2],[-1 1],[-1 1 2]); plot(H([],[],0)) axis equal This was a few samples of what you can establish with this toolbox. It is designed so that it should be so simple to use as possible. The classes saves both memory and time for you. Also your variable space will not be as filled with variables as it was before. INSTALLATION ------------ 0. UNINSTALLATION: If you already have one of the earlier distributions, then the best thing would be if you could remove the earlier archive and then go proceed to the next step (2) below. To remove the archive simply enter the "vecfun" directory and in Unix/Linux write "rm -rf". Please be sure that you REALLY are in the current directory or else other valuable files may be lost FOREVER! So use "rm -rf" with great caution!!! You should not have any of your own files located in this directory if you are running Matlab under Unix/Linux! If you are running Matlab under Windows then use either "Windows Commander" or the Windows built in "File Explorer" in order to delete the earier installed archive. 1. Enter your matlab directory or the directory where you want to put the toolbox. 2. Place the vecfun.#.#.tar.gz archive file in this directory. 3. Linux/Unix: Install by writing "gtar -xvzf vecfun.#.#.tar.gz" (you can also use "gnutar" or "tar"). Windows: Copy the entire archive to the directory using Windows Commander available from "http://www.ghisler.com". You should then end up with a file structure like this: /vecfun/ @scalar/ @vector/ demo/ cplxread.m curl.m div.m findfunc.m grad.m index.m integral.m . . . etc... (25 m-files here) 4. Update your matlab path using the command "pathtool" or "editpath" if you have not done this already. If you would encounter any problems during the above steps, the please contact me "e8rasmus@etek.chalmers.se" and I'll do my best to help you through. GETTING STARTED --------------- It is highly adviceable to write "help scalar" and "help vector". Try also to run the script "vectest.m" which contains a few examples. Also try "help vecfun" for a full list of commands/functions to use. UPDATES AND VERSIONS -------------------- It should be noticed however that this is a beta version and that the classes will still need some work with. This is my plans: 1. Complete the int() function. 2. Making an alternative for @scalar and @vector so that you can switch from room-coordinates to parameter "t", e.g. vector(t) or scalar(t) (scalar(t) will be the same as "scalar=inline('fun(t)','t')" but since it is a scalar object it will have access to all the tools and functions available in the @scalar class). All in accordance to point 3. 3. Equip the function vector/plot with another feature 'curve' which will write space curves in three coordinates for vectors parametrisized with variable t (see point 2) 4. Maybe include a partial differential equation solver. I think that would be all... So there will be more updates coming that's for sure. Until next update, have fun!!! Ver 1.1: I have fixed some bugs and added a new method for both of the classes, called "resize" which enables you to easily set the number of points for a certain function. A major change is that I have changed coordinates for vectors in that way that each component of a vector function is translated for that coordinate system. E.g. E=vector([0 4],[0 pi],[0 2*pi],'R+sin(theta)','cos(phi)','R*phi','sph') will produce: E.R(R,theta,phi) = ... E.theta(R,theta,phi) = ... E.phi(R,theta,phi) = ... instead of E.x(R,theta,phi) = ... E.y(R,theta,phi) = ... E.z(R,theta,phi) = ... Also some heavy code "optimizations" have been performed in order to keep the m-files as small (and elegant) as possible. Ver 1.2: Some bugs are fixed. You can now assign to separate vector components in all possible ways, e.g. V.x=3+4*i-y*V.z . I have started out with the correction of the differentiation tools like "curl", "div" and "grad" etc. Will hopefully be finished out till next version. Ver 1.3: More bugs are fixed. Enhanced some functions also. Have made an expression parser which purpose is to simplify string expressions, e.g. simplify('1/(1*r*1)') gives '1/r'. But it isn't working yet (the frontend is done but the backend is unfinished). Ver 1.4: I've almost completed the "int" function for the scalar class. Simplified the plot functions: You no longer need to explicitly type '2d', 'slice' and 'surf' as parameters to plot. Fixed some bugs on the "strrepx" function and extended it (I have also reprogrammed larger parts of its subroutines). I have beautified the output from "curl", "grad" and "cross". A new operator is added: "ctranspose" which will work as a "differentiator". I have also fixed some serious coordinate transformation bugs in both the coordinate transformers and the arithmetic operators. The plots are enhanced. Ver 1.5: Fixed some minor bugs. I have implemented plotting of constant vectors. I have also changed the vector functions "abs" and "angle" (see help for more info). Entering values for all three parameters will not return numerics no longer, for that you have to use the new function "value" on the function. Ver 1.6: Fixed the bug in vector/mtimes that produces the wrong output for the x-component. I have also implemented idexing by a vector function: V(W) where both V and W are vector functions. The vector/mtimes have been updated so that it will perform a vector cross product if both operands are vector functions. The new vector/times are now implemented which will work as the "dot" function. The cross product symbol has been enhanced in the case when computer=='PCWIN'. Ver 1.7: Bug fixed; scalar/horzcat could not handle other objects than scalar objects. Ver 1.8 Bugfix; texstring now compensates for eta-character properly and removed statements with strrepx which I don't remember why I implemented. scalar/lapl was having a statement with "1/(h1*h2*h3)(*..." which I instead changed into "1/(h1*h2*h3)*(...". scalar/lapl also contained the string "Lapl" which wasn't properly interpreted by texstring, thus changed it to "lapl". Ver 1.9 Enhanced the "pdiffev" function; using "gradient" function rather than doing it the hard way. Changed the look of the output for the differentiating operators slightly. It seems like UNIX supports superscripted 2 and 3 and the "cdot" character and the "times" character, so i commented the lines testing if it is PC or not. However if you experience problems then just restore the commented lines around the lines containing "char(...)" ..something. EOF.

近期下载者

相关文件


收藏者