MATLAB to Mathematica: An Engineering Student's Perspective
Вставка
- Опубліковано 8 тра 2016
- View more Wolfram Language user stories here:
www.wolfram.com/mathematica/cu...
UCSB electrical and computer engineering graduate student Justin Pearson shows how engineering equations can be both simplified and physically insightful using the Wolfram Language as compared to procedures in MATLAB. - Наука та технологія
i dont have extensive experience with either , im a newbee BUT seeing that this is coming from Wolfrum , i find myself asking if its a balanced view
well I used both for many years and just implemented SLLG in Mathematica .. It is true that there are certain things that are simpler in the Wolfram Language, but calling MATLAB's output "a bunch of numbers" is a crime. It's far easier to learn how to plot in MATLAB .. You have to "Riffle" and "Transpose" and do smart things even to plot a simple List as a function of another input vector. That being said, I love WL.
It's always a tradeoff between how easy it is and how much control you have over what the program is doing.
P.S. Assembly for life!
I don't think that's really valid here. It's a question of whether your program is best represented in the problem space or in the machine space. As a computer scientist, I almost always want to stay as far away from the machine as possible. I want my program to reflect the problem and its characteristics. If I have to describe the act of moving stuff from memory to a register and then invoking an instruction to operate on certain registers and place the result in another, that distracts from the problem I'm trying to solve. It's irrelevant to my program. There are a few cases, for instance a device driver, where the machine _is_ the problem. There I want direct control of the machine. Now let's include an example: "sum the first 1000 prime numbers". Do I want to describe a process to find the first prime, and then add it to a running sum, then find another prime and accumulate, etc.? No. Of course not. I want to offer a formal, concrete description of the computation without specifying a process (steps). I want the runtime system to determine the best way to perform the computation. Maybe there are 14 underutilized cores right now, and so the runtime system can map the computation onto those cores. Maybe there's only one underutilized core, and the runtime system will need to map the computation onto that core. There are structures (mostly arising in universal algebra) that allow computations to be described like this. And then when I go to prove the correctness of my program, I only need to show that I presented the right computation to the system (in these fancy objects of formal algebras, like monads, monoids, and functors). That's often a matter of verifying that there are no typing mistakes, whereas describing the steps the machine must go through leads to issues where it can be virtually impossible to demonstrate program correctness. To return to your statement about "what the program is doing", if I utilize these formal mathematical structures, I know exactly what the "program" is doing. It's solving my problem. I know nothing whatsoever about what the machine is doing, but I don't care. On the other hand, if I know exactly what the "machine" is doing, I probably have no clue about whether it's actually solving my problem, and that's a serious liability.
no one is using assembly for the real life problem
Thanks for the video. I agree. Without the digression of an additional coding step, it does make it easier to go from a mathematical equation or statistical concept directly to the (petroleum) engineering application. This allows me to spend more time on the assumptions and validation of the model/equations.
Although if I was a student at UCSB, I would prefer to spend that much more time on the beach.
What about taking your laptop with you to the beach, lol :)
Maple?
🐐
Nice
The fact the functions in Matlab are individual files was always something that seems totally unnecessary and encourages bad programming habits. I don't know enough about the internals of the language to see why this 'feature' is present but it certainly dates the product a lot. No modern programming language should have such limitations.
Its not a limitation - it actually has the purpose to make the function available for other programms and reusing it. But it can be annoying when u dont need that feature for simple tasks
No. Actuallly matlab functions doesn't need to be as individual files. You can do it, but you can also have many functions in single .m file
hello, ted mosby
rather then learning new languages to meet requirements of current engineering curriculum I think we should be reinventing our engineering coursework to align them with the new digital world.
Jajja “Wolfram Language”
Rigamaroll
Forget both use Python!
Python sukks too it just sukks less
Alright stop pointing the gu-n at him from behind the camera
says the guy who got a job at Mathematica
I can personally say, he did not get a job at Wolfram.
Maple > Mathematica > Matlab 😈
focus the fucking camera
Thts rude.....
lol typical
All these programs were poorly thought out. Matlab, MathCAD, Maple, Mathematica .....they all sukk
So which one does not for this use case?