1) O documento descreve vários modelos de redutores, incluindo suas potências, torque máximo, eficiência e rotações por minuto.
2) Os redutores funcionam por transmissão de eixo sem-fim e coroa, permitindo reduções entre 1x7,5 até 1x100.
3) As várias formas construtivas proporcionam durabilidade e qualidade, aliadas a uma geometria avançada de engrenamento.
Este documento apresenta os cálculos necessários para determinar a rotação, torque e potência requeridos por motores elétricos para transmissão de movimento através de parafusos de potência. Descreve os tipos de motores elétricos e sua conversão de energia, características de parafusos de potência e como calcula a eficiência de transmissão. Fornece equações para dimensionar motores considerando forças envolvidas em movimentos horizontal e vertical, além de discutir atrito e materiais de parafusos.
BELAZ is a manufacturer of heavy haul trucks and equipment based in Belarus. They operate a 140 hectare facility with modern equipment and produce up to 2,000 vehicles per year. Their product line includes dump trucks ranging from 30 to 450 tonne payloads that are used in construction and mining applications around the world. Over the past 5 years, BELAZ has invested over $300 million to modernize their facilities. They have delivered over 145,000 vehicles to 30 countries and have experience delivering to over 70 global destinations.
Este manual presenta las normas de identidad corporativa de ZIV, incluyendo el uso correcto del logotipo, colores corporativos, áreas de seguridad y tipografías. Explica que la imagen corporativa se crea a través de elementos gráficos como el logotipo y colores, y que este manual es una guía obligatoria para aplicarlos de forma unificada. Además, detalla los usos correctos e incorrectos del logotipo, los tamaños mínimos permitidos y las tipografías corporativas y complementarias para medios impresos y en
This document summarizes the design and behavior of jib cranes. It discusses the background and history of jib cranes, describes the main types of jib cranes including free standing, wall mounted, wall bracket, and mast style cranes. It also outlines the typical applications of jib cranes in industrial settings. Finally, it reviews the relevant Canadian design code specifications for loads, capacities, and structural design of jib cranes.
This document provides information on planning and selecting AC drives with fixed speeds. It describes the working principle and run-up behavior of AC squirrel-cage motors, including their speed-torque characteristics. It also discusses multi-speed motors and switching torque. The document then covers rated motor data like size, power, speed and voltage. It concludes with synchronous speeds for different motor pole numbers.
This document outlines the fabrication, delivery, erection, and inspection schedule for sections 1-11 of the Spire Tower project with cladding at the 47m level. Key details include:
- Sections 1-11 will be fabricated between March 22-27 and delivered to the site between April 15-24.
- Erection of each section will start 1-4 days after delivery and be completed through welding and inspection between April 16-May 8.
- The schedule provides specific dates for each stage of each section's completion to coordinate the multi-stage construction process.
The document provides a list of experiments related to CNC programming and machining. It includes 10 experiments involving manual programming for turning and milling operations using software like CADEM and MASTERCAM. The experiments cover topics like facing, step turning, taper turning, grooving, drilling, threading and more using both ordinary cycles and canned cycles in manual part programming. Safety procedures and pre/post lab questions are also provided for each experiment.
1) O documento descreve vários modelos de redutores, incluindo suas potências, torque máximo, eficiência e rotações por minuto.
2) Os redutores funcionam por transmissão de eixo sem-fim e coroa, permitindo reduções entre 1x7,5 até 1x100.
3) As várias formas construtivas proporcionam durabilidade e qualidade, aliadas a uma geometria avançada de engrenamento.
Este documento apresenta os cálculos necessários para determinar a rotação, torque e potência requeridos por motores elétricos para transmissão de movimento através de parafusos de potência. Descreve os tipos de motores elétricos e sua conversão de energia, características de parafusos de potência e como calcula a eficiência de transmissão. Fornece equações para dimensionar motores considerando forças envolvidas em movimentos horizontal e vertical, além de discutir atrito e materiais de parafusos.
BELAZ is a manufacturer of heavy haul trucks and equipment based in Belarus. They operate a 140 hectare facility with modern equipment and produce up to 2,000 vehicles per year. Their product line includes dump trucks ranging from 30 to 450 tonne payloads that are used in construction and mining applications around the world. Over the past 5 years, BELAZ has invested over $300 million to modernize their facilities. They have delivered over 145,000 vehicles to 30 countries and have experience delivering to over 70 global destinations.
Este manual presenta las normas de identidad corporativa de ZIV, incluyendo el uso correcto del logotipo, colores corporativos, áreas de seguridad y tipografías. Explica que la imagen corporativa se crea a través de elementos gráficos como el logotipo y colores, y que este manual es una guía obligatoria para aplicarlos de forma unificada. Además, detalla los usos correctos e incorrectos del logotipo, los tamaños mínimos permitidos y las tipografías corporativas y complementarias para medios impresos y en
This document summarizes the design and behavior of jib cranes. It discusses the background and history of jib cranes, describes the main types of jib cranes including free standing, wall mounted, wall bracket, and mast style cranes. It also outlines the typical applications of jib cranes in industrial settings. Finally, it reviews the relevant Canadian design code specifications for loads, capacities, and structural design of jib cranes.
This document provides information on planning and selecting AC drives with fixed speeds. It describes the working principle and run-up behavior of AC squirrel-cage motors, including their speed-torque characteristics. It also discusses multi-speed motors and switching torque. The document then covers rated motor data like size, power, speed and voltage. It concludes with synchronous speeds for different motor pole numbers.
This document outlines the fabrication, delivery, erection, and inspection schedule for sections 1-11 of the Spire Tower project with cladding at the 47m level. Key details include:
- Sections 1-11 will be fabricated between March 22-27 and delivered to the site between April 15-24.
- Erection of each section will start 1-4 days after delivery and be completed through welding and inspection between April 16-May 8.
- The schedule provides specific dates for each stage of each section's completion to coordinate the multi-stage construction process.
The document provides a list of experiments related to CNC programming and machining. It includes 10 experiments involving manual programming for turning and milling operations using software like CADEM and MASTERCAM. The experiments cover topics like facing, step turning, taper turning, grooving, drilling, threading and more using both ordinary cycles and canned cycles in manual part programming. Safety procedures and pre/post lab questions are also provided for each experiment.
The Yahoo User Interface Library (YUI) is a JavaScript framework that helps build web applications by abstracting away browser inconsistencies and issues. It includes CSS solutions for layouts and typography, JavaScript utilities, and tested widgets like AutoComplete, DataTable, Button, Calendar, and more. All components are fully documented and have examples to learn from. YUI makes it easier to build interfaces without dealing with browser pain points and allows chaining of animations through custom events.
Swift is a new programming language created by Apple as an alternative to Objective-C for iOS development. It is faster, safer, and has a cleaner syntax than Objective-C. To start developing iOS apps in Swift, developers need a Mac computer, Xcode installed, and an Apple Developer account. Key aspects of iOS app development in Swift covered in the document include prototyping apps, using Xcode, optionals and auto layout, implementing protocols like UITableViewDelegate, and using MVC architecture.
This document provides an overview of GUI programming. It discusses GUI structure using containers and components. It explains how to add behavior to GUIs through event-driven programming and the observer pattern. It also covers GUI appearance topics like layouts and look and feel. The document recommends using multi-threading to prevent GUIs from freezing during intensive tasks. It concludes with some GUI design guidelines such as keeping interfaces clear and feedback concise.
This document discusses event handling in Java. It covers using the delegation event model, handling keyboard and mouse events, and using adapter classes. Key points covered include implementing the appropriate interface for the event desired, registering the listener, and providing empty implementations in adapter classes to simplify creating event handlers. Examples are provided to demonstrate handling keyboard and mouse events.
This document outlines lab work assignments for an object-oriented programming course. The assignments include:
1) Creating a class to register student details and prevent duplicate entries.
2) Creating a banking account class to perform deposit, withdrawal, and statement printing transactions.
3) Creating a mobile phone class to store phone details and allow user login/selection of products to calculate total cost.
Getting Started with OpenCV provides an overview of OpenCV and demonstrates a basic OpenCV program. It discusses OpenCV's structure, loading and saving images, creating windows and trackbars, and using OpenCV with Intel's Integrated Performance Primitives for accelerated computer vision functions. The document contains code samples and explains how to compile, build, and run OpenCV programs on Windows and Linux.
The Ring programming language version 1.5.1 book - Part 67 of 180Mahmoud Samir Fayed
This document discusses using the Objects Library for building RingQt applications. The Objects Library manages GUI objects and provides a natural API for creating windows from classes. It uses the MVC pattern. The Open_Window() function opens new windows from controller classes. Views inherit from WindowsViewParent. Controllers inherit from WindowsControllerParent and contain CloseAction(). Event methods are passed to views via Method(). Open_WindowAndLink() connects windows by creating dynamic methods.
The document provides tips for finding resources in the Eclipse workspace using a visitor. It describes creating a class that implements IResourceProxyVisitor and overriding the visit() method. This method would check each resource proxy for a match to the location string and return the resource if found. This allows recursively searching the workspace to locate a resource based on its path or other identifier.
The document discusses HTML5 as a platform for user interfaces. It outlines several new features of HTML5, including the <canvas> element for drawing, WebGL for 3D graphics, multi-touch support, local storage with Web SQL databases, real-time updates with Web Sockets, improved file handling, and offline application caching. The document argues that HTML5 provides many of the capabilities of native applications and recommends using HTML5 and JavaScript for cross-platform user interface development.
The fundamental problems of GUI applications and why people choose ReactOliver N
Instead of asking people which JavaScript framework to learn, let's look back into GUI application architecture (which Web Front-end is a case). Then you will understand why people created those library & frameworks and why React became so popular.
Gephi Toolkit Developer Tutorial.
The Gephi Toolkit project package essential modules (Graph, Layout, Filters, IO...) in a standard Java library, which any Java project can use for getting things done. The toolkit is just a single JAR that anyone could reuse.
This tutorial introduce the project, show possibilities and code examples to get started.
The document summarizes goals and concepts for iOS development, including:
1. It discusses using common iOS UI elements like text fields, labels, sliders and switches, and handling actionsheets and alerts.
2. It explains application delegates and how they handle events on behalf of other objects. The UIApplication delegate is discussed.
3. It provides an overview of view controllers and their role in linking an app's data and visual interface, and describes their life cycle and common methods.
4. Automatic Reference Counting (ARC) is introduced as replacing the need to manually manage memory by releasing objects.
How Google AppEngine deals with digital art? how about music? a few case studies developed by Stinkdigital with Google Creative Lab and how App Engine dealt with a considerable amount of visits
This document discusses the evolution of graphical user interface (GUI) capabilities in the Java programming language. It describes the Abstract Window Toolkit (AWT) introduced in JDK 1.0, which provided basic cross-platform GUI functionality but had limitations. JDK 1.1 improved on AWT with an event delegation model. JDK 1.2 introduced Swing, a richer GUI library that better integrated with native operating system look and feels. Swing components are lightweight compared to heavyweight AWT components. The document also covers GUI component classes, layout managers, menus, labels and event handling in Java GUI programming.
Java programming presentations By Daroko blog
Do not just read java as a programmer, find projects and start making some Money, at DAROKO BLOG,WE Guide you through what you have learned in the classroom to a real business Environment, find java applications to a real business Environment, find also all IT Solutions and How you can apply them, find the best companies where you can get the IT jobs worldwide, Find java contract, Complete and start making some cash, find clients within your Country, refer and get paid when you complete the work.
Not Just a contact, at daroko Blog (www.professionalbloggertricks.com/),you are also being taught how you can apply all IT related field in real world.
Simply Google, Daroko Blog or visit (www.professionalbloggertricks.com/) to Know More about all these service now.
Do not just learn and go, apply them in real world.
This document provides an introduction and overview of the Java Swing GUI toolkit. It discusses what Swing is, its main characteristics including being platform independent, customizable, extensible and lightweight. It explains that Swing is written entirely in Java and is part of the Java Foundation Classes. The document also provides examples of simple first programs using Swing including creating a basic window, centering a window, adding buttons and tooltips. It demonstrates creating menus and toolbars and includes examples of submenus and checkbox menu items.
Possible approaches are discussed for creating a "missing link" between server/client developers and scripters in OpenSim-based virtual worlds. This could involve extending scripter tools through region modules, APIs, and programming languages to enable dynamic virtual environments controlled by independent program units. The ideal is a "virtual application" model where scripters have full access to standard libraries, dependencies, and client/server methods without being tied to specific client-server implementations or protocols.
International Journal of Engineering Research and Development is an international premier peer reviewed open access engineering and technology journal promoting the discovery, innovation, advancement and dissemination of basic and transitional knowledge in engineering, technology and related disciplines.
- Talk from FrontConf Munich 2017
- https://frontconf.com/talks/09-12-2017/reactive-type-safe-webcomponents
Abstract:
You know the drill right? new cool framework/library appears... boom! new Datepicker in that framework follows and soon enough whole UI libraries, again and again....
It's 2017 and it's time to stop this madness once and for all! How you ask?
In this talk we will go through implementation of an app via vanilla web components and explore all the pain points with all these low level primitives that we have natively in the browser.
In the end we will build our custom super tiny reactive type-safe library which will allow us to build web components with a breeze
Write once, use everywhere by using the platform + abstraction for great Developer experience.
Why electric vehicles need model-based design?
Because of the rising complexity in new vehicles, model-based design & systems engineering is needed to cascade the requirements and trace back any modification along the engineering lifecycle. Find out more in this presentation of a customer case about electric motor optimization.
More Related Content
Similar to How to develop a Graphical User Interface (GUI) in Scilab
The Yahoo User Interface Library (YUI) is a JavaScript framework that helps build web applications by abstracting away browser inconsistencies and issues. It includes CSS solutions for layouts and typography, JavaScript utilities, and tested widgets like AutoComplete, DataTable, Button, Calendar, and more. All components are fully documented and have examples to learn from. YUI makes it easier to build interfaces without dealing with browser pain points and allows chaining of animations through custom events.
Swift is a new programming language created by Apple as an alternative to Objective-C for iOS development. It is faster, safer, and has a cleaner syntax than Objective-C. To start developing iOS apps in Swift, developers need a Mac computer, Xcode installed, and an Apple Developer account. Key aspects of iOS app development in Swift covered in the document include prototyping apps, using Xcode, optionals and auto layout, implementing protocols like UITableViewDelegate, and using MVC architecture.
This document provides an overview of GUI programming. It discusses GUI structure using containers and components. It explains how to add behavior to GUIs through event-driven programming and the observer pattern. It also covers GUI appearance topics like layouts and look and feel. The document recommends using multi-threading to prevent GUIs from freezing during intensive tasks. It concludes with some GUI design guidelines such as keeping interfaces clear and feedback concise.
This document discusses event handling in Java. It covers using the delegation event model, handling keyboard and mouse events, and using adapter classes. Key points covered include implementing the appropriate interface for the event desired, registering the listener, and providing empty implementations in adapter classes to simplify creating event handlers. Examples are provided to demonstrate handling keyboard and mouse events.
This document outlines lab work assignments for an object-oriented programming course. The assignments include:
1) Creating a class to register student details and prevent duplicate entries.
2) Creating a banking account class to perform deposit, withdrawal, and statement printing transactions.
3) Creating a mobile phone class to store phone details and allow user login/selection of products to calculate total cost.
Getting Started with OpenCV provides an overview of OpenCV and demonstrates a basic OpenCV program. It discusses OpenCV's structure, loading and saving images, creating windows and trackbars, and using OpenCV with Intel's Integrated Performance Primitives for accelerated computer vision functions. The document contains code samples and explains how to compile, build, and run OpenCV programs on Windows and Linux.
The Ring programming language version 1.5.1 book - Part 67 of 180Mahmoud Samir Fayed
This document discusses using the Objects Library for building RingQt applications. The Objects Library manages GUI objects and provides a natural API for creating windows from classes. It uses the MVC pattern. The Open_Window() function opens new windows from controller classes. Views inherit from WindowsViewParent. Controllers inherit from WindowsControllerParent and contain CloseAction(). Event methods are passed to views via Method(). Open_WindowAndLink() connects windows by creating dynamic methods.
The document provides tips for finding resources in the Eclipse workspace using a visitor. It describes creating a class that implements IResourceProxyVisitor and overriding the visit() method. This method would check each resource proxy for a match to the location string and return the resource if found. This allows recursively searching the workspace to locate a resource based on its path or other identifier.
The document discusses HTML5 as a platform for user interfaces. It outlines several new features of HTML5, including the <canvas> element for drawing, WebGL for 3D graphics, multi-touch support, local storage with Web SQL databases, real-time updates with Web Sockets, improved file handling, and offline application caching. The document argues that HTML5 provides many of the capabilities of native applications and recommends using HTML5 and JavaScript for cross-platform user interface development.
The fundamental problems of GUI applications and why people choose ReactOliver N
Instead of asking people which JavaScript framework to learn, let's look back into GUI application architecture (which Web Front-end is a case). Then you will understand why people created those library & frameworks and why React became so popular.
Gephi Toolkit Developer Tutorial.
The Gephi Toolkit project package essential modules (Graph, Layout, Filters, IO...) in a standard Java library, which any Java project can use for getting things done. The toolkit is just a single JAR that anyone could reuse.
This tutorial introduce the project, show possibilities and code examples to get started.
The document summarizes goals and concepts for iOS development, including:
1. It discusses using common iOS UI elements like text fields, labels, sliders and switches, and handling actionsheets and alerts.
2. It explains application delegates and how they handle events on behalf of other objects. The UIApplication delegate is discussed.
3. It provides an overview of view controllers and their role in linking an app's data and visual interface, and describes their life cycle and common methods.
4. Automatic Reference Counting (ARC) is introduced as replacing the need to manually manage memory by releasing objects.
How Google AppEngine deals with digital art? how about music? a few case studies developed by Stinkdigital with Google Creative Lab and how App Engine dealt with a considerable amount of visits
This document discusses the evolution of graphical user interface (GUI) capabilities in the Java programming language. It describes the Abstract Window Toolkit (AWT) introduced in JDK 1.0, which provided basic cross-platform GUI functionality but had limitations. JDK 1.1 improved on AWT with an event delegation model. JDK 1.2 introduced Swing, a richer GUI library that better integrated with native operating system look and feels. Swing components are lightweight compared to heavyweight AWT components. The document also covers GUI component classes, layout managers, menus, labels and event handling in Java GUI programming.
Java programming presentations By Daroko blog
Do not just read java as a programmer, find projects and start making some Money, at DAROKO BLOG,WE Guide you through what you have learned in the classroom to a real business Environment, find java applications to a real business Environment, find also all IT Solutions and How you can apply them, find the best companies where you can get the IT jobs worldwide, Find java contract, Complete and start making some cash, find clients within your Country, refer and get paid when you complete the work.
Not Just a contact, at daroko Blog (www.professionalbloggertricks.com/),you are also being taught how you can apply all IT related field in real world.
Simply Google, Daroko Blog or visit (www.professionalbloggertricks.com/) to Know More about all these service now.
Do not just learn and go, apply them in real world.
This document provides an introduction and overview of the Java Swing GUI toolkit. It discusses what Swing is, its main characteristics including being platform independent, customizable, extensible and lightweight. It explains that Swing is written entirely in Java and is part of the Java Foundation Classes. The document also provides examples of simple first programs using Swing including creating a basic window, centering a window, adding buttons and tooltips. It demonstrates creating menus and toolbars and includes examples of submenus and checkbox menu items.
Possible approaches are discussed for creating a "missing link" between server/client developers and scripters in OpenSim-based virtual worlds. This could involve extending scripter tools through region modules, APIs, and programming languages to enable dynamic virtual environments controlled by independent program units. The ideal is a "virtual application" model where scripters have full access to standard libraries, dependencies, and client/server methods without being tied to specific client-server implementations or protocols.
International Journal of Engineering Research and Development is an international premier peer reviewed open access engineering and technology journal promoting the discovery, innovation, advancement and dissemination of basic and transitional knowledge in engineering, technology and related disciplines.
- Talk from FrontConf Munich 2017
- https://frontconf.com/talks/09-12-2017/reactive-type-safe-webcomponents
Abstract:
You know the drill right? new cool framework/library appears... boom! new Datepicker in that framework follows and soon enough whole UI libraries, again and again....
It's 2017 and it's time to stop this madness once and for all! How you ask?
In this talk we will go through implementation of an app via vanilla web components and explore all the pain points with all these low level primitives that we have natively in the browser.
In the end we will build our custom super tiny reactive type-safe library which will allow us to build web components with a breeze
Write once, use everywhere by using the platform + abstraction for great Developer experience.
Similar to How to develop a Graphical User Interface (GUI) in Scilab (20)
Why electric vehicles need model-based design?
Because of the rising complexity in new vehicles, model-based design & systems engineering is needed to cascade the requirements and trace back any modification along the engineering lifecycle. Find out more in this presentation of a customer case about electric motor optimization.
Keynote of the French Space Agency CNES on the Asteroidlander MASCOT boarding the Hayabusa2 mission in collaboration with the Japanese Space Agency JAXA and the German Aerospace Center DLR
Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...Scilab
Rapid Prototyping becomes very popular for faster algorithm development. With a graphical representation of the algorithm and the possibility to simulate complete designs, engineers can help to reduce the time to market. A tight integration with MPLAB-X IDE allows the combination with standard C-coding to easily get mass production code. This solution was used to optimise a sensorless field oriented controlled PMSM motor driven pump efficiency. A model for closed loop simulation was developed using X2C blocks [1][2] for the FOC algorithm based on the existing application note AN1292 [3]. Enhancements to the original version were implemented and verified with simulation. The X2C Communicator was used to generate code of the new algorithm. With the online debugging capabilities and the scope functionality the algorithm was further tuned and optimized to achieve the highest possible efficiency of the pump.
Scilab and Xcos for Very Low Earth Orbits satellites modellingScilab
Very Low Earth Orbits are orbits in altitudes lower than 450 km. The interaction between the atmosphere particles and the surfaces of the spacecraft is responsible for the aerodynamic torques and forces. Simulating several aspects of the performance of a satellite flying in VLEO is very important to make decisions about the design of the spacecraft and the mission.
X2C -a tool for model-based control development and automated code generation...Scilab
Peter Dirnberger, Stefan Fragner
Nowadays, the market demands compact, stable, easy maintain-and customizable embedded systems. To meet these requirements, afast, simple and reliable implementation of control algorithms is crucial. This paper demonstrateshow model-based design with the help of Scilab/Xcosand X2C, developed by LCM,simplifiesand speedsup the development and implementation of controlalgorithms. As an example, acontrol schemefor a bearingless motoris presented.
A Real-Time Interface for Xcos – an illustrative demonstration using a batter...Scilab
As part of an EU-founded research project, the Scilab based development tool LoRra (Low-Cost Rapid Control Prototyping Platform) was created. This allows the realization of the continuously model based and highly automated Rapid Control Prototyping (RCP) design process for embedded software within the Scilab / Xcos environment (cf. Figure 1). Based on the application battery management system (BMS), this paper presents a Real-Time interface for Scilab.
Aircraft Simulation Model and Flight Control Laws Design Using Scilab and XCosScilab
The increasing demand in the aerospace industry for safety and performance has been requiring even more resourceful flight control laws in all market segments, since the airliners until the newest flying cars. The de facto standard for flight control laws design makes extensive use of tools supporting numerical computing and dynamic systems visual modeling, such that Scilab and XCos can nicely suit this kind of development.
This document provides examples that demonstrate solving systems of equations, continuous-time state-space models, and using strings and scripts in Scilab. Example 2-1 shows how to solve a system of 3 equations with 3 unknowns by writing the equations in matrix form and using the backslash operator. Example 2-2 demonstrates using mesh currents to solve a circuit problem since Kirchhoff's law leads to a non-square matrix. Example 2-3 defines a state-space model and simulates the output and state responses. Example 2-4 is a script that converts a time in seconds to hours, minutes and seconds using strings, input, floor, and modulo functions.
Scilab is an open-source numeric computing software package that is similar to Matlab. It allows matrix manipulations, plotting, animation, and other tasks. While Scilab has advantages like being free and including tools like Xcos, it also has disadvantages such as slower execution speed compared to Matlab, poor documentation, and a tendency to crash or lock up. The document discusses both advantages and disadvantages of using Scilab compared to commercial alternatives like Matlab. It aims to provide an introduction to Scilab for new users.
Multiobjective optimization and Genetic algorithms in ScilabScilab
In this Scilab tutorial we discuss about the importance of multiobjective optimization and we give an overview of all possible Pareto frontiers. Moreover we show how to use the NSGA-II algorithm available in Scilab.
This document provides an overview of optimization capabilities in the free and open source software Scilab. It discusses the Nelder-Mead optimization component recently added to Scilab, which performs nonlinear optimization without requiring gradients. The document also compares Scilab's optimization solvers to those in MATLAB, finding that Scilab has similar functionality for problems like minimization, equation solving and least squares, though some solvers are only in alpha or beta versions. Finally, it outlines the OMD2 project which aims to develop Scilab into a full optimization platform through additional modules for data management, modeling and visualization.
The document discusses ChemFlow, a web application for chemometrics built using the Galaxy platform. ChemFlow allows users to perform chemometric analyses through a graphical interface without using command line tools. It works by wrapping existing chemometric analysis programs like Scilab tools into XML formats to make them accessible through Galaxy. This provides advantages like recycling code, enabling synergy between languages, and exchanging data between tools through workflows without needing command line expertise. Future work includes defining better data formats for large datasets and adding more analysis methods to ChemFlow.
This document discusses the increasing trend and success of using open source numerical analysis software in heterogeneous enterprise computing environments. It notes that open source operating systems like Linux and Android as well as open source hardware are becoming more common. Open source numerical software like Octave, Scilab, and SciPy are attractive to businesses and users because they are free to use and support massive parallel processing to improve time-to-market. The document advocates for using open source tools to enable large-scale simultaneous simulations to save significant time and resources.
University of Applied Science Esslingen @ Scilab Conference 2018Scilab
The document summarizes the implementation of a toolbox for Scilab that converts figures to TikZ/LaTeX format. The toolbox was created to allow including Scilab graphs in scientific papers. It gathers figure attributes from Scilab and generates the necessary TikZ code. The toolbox is currently able to convert basic 2D plots but further improvements are planned to support additional features like subplots and 3D plots.
This document discusses model-based design of mission-critical avionics using Scilab/Xcos. It describes the ARGO project, which aims to help software developers better utilize multiprocessor hardware platforms. As a case study, the document details modeling a Terrain Awareness and Warning System for DLR's A320 simulator using Scilab/Xcos blocks. It discusses modeling the system controller, plant, and performing X-in-the-loop testing of the model. Future work includes integrating the system onto an AURIX multicore board and testing it with pilots in DLR's simulator.
The document discusses polarization imaging and processing polarization data with Scilab. It describes measuring polarization with cameras, developing algorithms in Scilab to process polarization images and extract values like Stokes parameters, and work to transfer the Scilab code into a product as a DLL for integration into industrial inspection systems. The goal is to provide software for online industrial polarization imaging and analysis of properties like stress in glass.
This document discusses ArcelorMittal's use of numerical models for research and development. It introduces the Diabolo paradigm, which is a solution developed using ESI software to address some key issues with managing and sharing models. Specifically, the Diabolo paradigm creates a centralized model repository and toolbox to make models more reusable and easier to share across different users and geographic locations. It aims to support the full lifecycle of models and ease multi-domain simulations. Advanced use cases discussed include building physics simulation, optimization tools, and a statistical model toolbox.
Embedded machine learning-based road conditions and driving behavior monitoringIJECEIAES
Car accident rates have increased in recent years, resulting in losses in human lives, properties, and other financial costs. An embedded machine learning-based system is developed to address this critical issue. The system can monitor road conditions, detect driving patterns, and identify aggressive driving behaviors. The system is based on neural networks trained on a comprehensive dataset of driving events, driving styles, and road conditions. The system effectively detects potential risks and helps mitigate the frequency and impact of accidents. The primary goal is to ensure the safety of drivers and vehicles. Collecting data involved gathering information on three key road events: normal street and normal drive, speed bumps, circular yellow speed bumps, and three aggressive driving actions: sudden start, sudden stop, and sudden entry. The gathered data is processed and analyzed using a machine learning system designed for limited power and memory devices. The developed system resulted in 91.9% accuracy, 93.6% precision, and 92% recall. The achieved inference time on an Arduino Nano 33 BLE Sense with a 32-bit CPU running at 64 MHz is 34 ms and requires 2.6 kB peak RAM and 139.9 kB program flash memory, making it suitable for resource-constrained embedded systems.
6th International Conference on Machine Learning & Applications (CMLA 2024)ClaraZara1
6th International Conference on Machine Learning & Applications (CMLA 2024) will provide an excellent international forum for sharing knowledge and results in theory, methodology and applications of on Machine Learning & Applications.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...University of Maribor
Slides from talk presenting:
Aleš Zamuda: Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapter and Networking.
Presentation at IcETRAN 2024 session:
"Inter-Society Networking Panel GRSS/MTT-S/CIS
Panel Session: Promoting Connection and Cooperation"
IEEE Slovenia GRSS
IEEE Serbia and Montenegro MTT-S
IEEE Slovenia CIS
11TH INTERNATIONAL CONFERENCE ON ELECTRICAL, ELECTRONIC AND COMPUTING ENGINEERING
3-6 June 2024, Niš, Serbia
Understanding Inductive Bias in Machine LearningSUTEJAS
This presentation explores the concept of inductive bias in machine learning. It explains how algorithms come with built-in assumptions and preferences that guide the learning process. You'll learn about the different types of inductive bias and how they can impact the performance and generalizability of machine learning models.
The presentation also covers the positive and negative aspects of inductive bias, along with strategies for mitigating potential drawbacks. We'll explore examples of how bias manifests in algorithms like neural networks and decision trees.
By understanding inductive bias, you can gain valuable insights into how machine learning models work and make informed decisions when building and deploying them.
How to develop a Graphical User Interface (GUI) in Scilab
1. www.openeering.com
powered by
HOW TO DEVELOP A GRAPHICAL USER INTERFACE
(GUI) IN SCILAB.
In this tutorial we show how to create a GUI in Scilab for an ODE problem.
The adopted problem is the LHY model already used in other tutorials.
Level
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
2. LHY Tutorial Gui www.openeering.com page 2/18
Step 1: The purpose of this tutorial
In this tutorial we show, step by step, how to create a Graphical User
Interface (GUI)in Scilab.
Examples of Scilab GUIs are reported on the right. These images are
taken from the GUI menu of the Scilab Demonstrations.
Step 2: Model description
In this tutorial we refer to the LHY model. A description of the LHY model
and its solution using ode command can be found in the basic tutorial of
modeling differential equations in Scilab.
3. LHY Tutorial Gui www.openeering.com page 3/18
Step 3: Roadmap
In this tutorial we describe how to construct a GUI for the LHY. We
implement the system in the following way:
Provide a description of GUI programming in Scilab;
Implement the GUI for the LHY model;
Test the program and visualize the results.
Descriptions Steps
GUI programming in Scilab 4-5
GUI for the LHY model 6-17
Running and testing 18-19
Step 4: Scilab GUI programming
A GUI is a human-computer interface that uses graphical objects like
windows, menus and icons to interact with users through the use of
mouse and keyboard (often in a limited way).
The main advantage of using GUIs is the ability to make computer
operations more intuitive, and thus easier to learn and use especially for
new users. For example, it is much easier to move files by dragging icons
with the mouse than by having to remember the command that performs
the same task.
The function that creates a graphical user interface object in Scilab is
"uicontrol".
The syntax of the GUI function is
h = uicontrol(PropertyName,PropertyValue,...)
h = uicontrol(parent,PropertyName,PropertyValue,...)
h = uicontrol(uich)
For a detailed description see "help uicontrol".
4. LHY Tutorial Gui www.openeering.com page 4/18
Step 5: Design of the GUI interface
The first step is to design the skeleton of the GUI interface for the LHY
model.
Designing a “correct” GUI is not a trivial task. Many rules exist and can be
found in textbooks and web sites dedicated to this subject.
On the right we report our scheme for the LHY graphical user interface
where:
"Model parameters" contains the list of all LHY model
parameters that the user can change;
"Time Setting" contains the list of all time simulation variables;
"Initial conditions" contains the list of all initial conditions
for the ODE problem;
"graphical plot " contains the plot of the simulation’s results;
"Compute button" updates the solution in the "graphical
plot ";
The menu "file" contains the entry "close" that is used to close
the program;
The menu "About" contains the entry "About" that is used to
display some info about program and author.
5. LHY Tutorial Gui www.openeering.com page 5/18
Step 6: Storing default parameters
The first step is to store all the default LHY model parameters into mlist
Scilab objects. The parameters are subdivided into two groups:
the "param" group for the LHY model parameters;
the "sim" group for the simulation time parameters and initial
conditions.
// Default simulation parameters
param = [];
param.tau = 5e4; // Number of innovators per year (initiation)
param.s = 0.61; // Annual rate at which light users attract non-
users (initiation)
param.q = 3.443; // Constant which measures the deterrent effect
of heavy users (initiation)
param.smax = 0.1; // Lower bound for s effective (initiation)
param.a = 0.163; // Annual rate at which light users quit
param.b = 0.024; // Annual rate at which light users escalate to
heavy use
param.g = 0.062; // Annual rate at which heavy users quit
param.delta = 0.291; // Forgetting rate
// Simulation data
// Time variables
sim = [];
sim.Tbegin = 1970; // Initial time
sim.Tend = 2020; // Final time
sim.Tstep = 1/12; // Time step
// Initial conditions
sim.L0 = 1.4e6; // Light users at the initial time
sim.H0 = 0.13e6; // Heavy users at the initial time
sim.Y0 = 0.11e6; // Decaying heavy user at the initial time
The name of the developed function is "LHY_Gui".
6. LHY Tutorial Gui www.openeering.com page 6/18
Step 7: Create an initial window
In the next step we create, with the "scf" Scilab function, an initial window
where graphical object can be added.
The function "gettext" is used for internationalization (a.k.a. i18n, i.e. it
translates the text into the current local language if available).
// Global window parameters
global margin_x margin_y;
global frame_w frame_h plot_w plot_h;
// Window Parameters initialization
frame_w = 300; frame_h = 550;// Frame width and height
plot_w = 600; plot_h = frame_h;// Plot width and heigh
margin_x = 15; margin_y = 15;// Horizontal and vertical margin
for elements
defaultfont = "arial"; // Default Font
axes_w = 3*margin_x + frame_w + plot_w;// axes width
axes_h = 2*margin_y + frame_h; // axes height (100 =>
toolbar height)
demo_lhy = scf(100001);// Create window with id=100001 and make
it the current one
// Background and text
demo_lhy.background = -2;
demo_lhy.figure_position = [100 100];
demo_lhy.figure_name = gettext("LHY solution");
// Change dimensions of the figure
demo_lhy.axes_size = [axes_w axes_h];
Type “help scf” for more details on the scf command.
7. LHY Tutorial Gui www.openeering.com page 7/18
Step 8: Set menu and toolbar
After creating the window, we create the menu. The used function are:
"addmenu"/"delmenu": for adding or removing a menu from the
menu bar;
"uimenu": for creating a menu or a submenu in a figure.
Associate to each menu entry there is a callback, a reference to a
executable function that is activated when the user select the
entry.
// Remove Scilab graphics menus & toolbar
delmenu(demo_lhy.figure_id,gettext("&File"));
delmenu(demo_lhy.figure_id,gettext("&Tools"));
delmenu(demo_lhy.figure_id,gettext("&Edit"));
delmenu(demo_lhy.figure_id,gettext("&?"));
toolbar(demo_lhy.figure_id,"off");
// New menu
h1 = uimenu("parent",demo_lhy, "label",gettext("File"));
h2 = uimenu("parent",demo_lhy, "label",gettext("About"));
// Populate menu: file
uimenu("parent",h1, "label",gettext("Close"), "callback",
"demo_lhy=get_figure_handle(100001);delete(demo_lhy);",
"tag","close_menu");
// Populate menu: about
uimenu("parent",h2, "label",gettext("About"),
"callback","LHY_About();");
// Sleep to guarantee a better display (avoiding to see a
sequential display)
sleep(500);
An import field for the graphical function is the “parent” field i.e. the
handle where the graphical object should be attached, in our case
“demo_lhy”. Changing this value allows to move a control from a figure to
another.
See “uimenu” help file for more details.
8. LHY Tutorial Gui www.openeering.com page 8/18
Step 9: About dialog
The “About” dialog is a modal dialog created using the "messagebox"
function. Two types of windows are available:
"modal dialog": in a modal window users are required to interact
with it before it returns to the parent application.
"modeless dialog": in modeless or non-modal window the
request information is not essential to continue with the program.
A non-modal window can be left open while work continues
elsewhere.
function LHY_About()
msg = msprintf(gettext("LHY is developed by the Openeering
Team.nAuthor: M. Venturin"));
messagebox(msg, gettext("About"), "info", "modal");
endfunction
Step 10: Creating a frame
A frame is graphical object used to group other objects.
// Frames creation [LHY parameters]
my_frame = uicontrol("parent",demo_lhy, "relief","groove", ...
"style","frame", "units","pixels", ...
"position",[ margin_x margin_y frame_w frame_h], ...
"horizontalalignment","center", "background",[1 1 1], ...
"tag","frame_control");
// Frame title
my_frame_title = uicontrol("parent",demo_lhy, "style","text", ...
"string","LHY parameters", "units","pixels", ...
"position",[30+margin_x margin_y+frame_h-10 frame_w-60 20],
...
"fontname",defaultfont, "fontunits","points", ...
"fontsize",16, "horizontalalignment","center", ...
"background",[1 1 1], "tag","title_frame_control");
9. LHY Tutorial Gui www.openeering.com page 9/18
Step 11: Populate the frame
Each parameters is composed of the following elements:
a string that denote the parameter (style “text”);
an edit box (style “edit”) that is used as an input/output mask (the
input is recovering by searching all graphical objects having that
tag, and hence the tag must be unique among the elements)
// Adding model parameters
guih1 = frame_w;
guih1o = 240;
// ordered list of labels
labels1 = ["Tau", "s", "q", "smax", "a", "b", "g", "delta"];
// ordered list of default values
values1 = [5e4, 0.61, 3.443, 0.1, 0.163, 0.024, 0.062, 0.291];
// positioning
l1 = 40; l2 = 100; l3 = 110;
for k=1:size(labels1,2)
uicontrol("parent",demo_lhy, "style","text",...
"string",labels1(k), "position",[l1,guih1-
k*20+guih1o,l2,20], ...
"horizontalalignment","left", "fontsize",14, ...
"background",[1 1 1]);
guientry1(k) = uicontrol("parent",demo_lhy, "style","edit",
...
"string",string(values1(k)), "position",[l3,guih1-
k*20+guih1o,180,20], ...
"horizontalalignment","left", "fontsize",14, ...
"background",[.9 .9 .9], "tag",labels1(k));
end
11. LHY Tutorial Gui www.openeering.com page 11/18
Step 13: Add a button
Next, using the same command “uicontrol”, we add the “compute button”
(style “pushbutton”):
// Adding button
huibutton = uicontrol(demo_lhy, "style","pushbutton", ...
"Position",[110 100 100 20], "String","Compute", ...
"BackgroundColor",[.9 .9 .9], "fontsize",14, ...
"Callback","syscompute");
The button is associated to the callback "syscompute". This callback will
be explained and created at step 17.
Step 14: Solving function
The solving function is based on the code already developed in the tutorial
of the LHY model solved using "ode" function. See this tutorial for more
details.
function sol=solvingProblem(param, sim)
// Compute the solution
sol = struct();
// Assign ODE solver data
y0 = [sim.L0;sim.H0;sim.Y0];
t0 = sim.Tbegin;
t = sim.Tbegin:sim.Tstep:(sim.Tend+100*%eps);
f = LHY_System;
// Solving the system
sol.LHY = ode(y0, t0, t, f);
sol.t = t;
endfunction
12. LHY Tutorial Gui www.openeering.com page 12/18
Step 15: Display function
The display functions is derived from the "LHY_Plot" function of the
tutorial on LHY solved using "ode" function. See this tutorial for more
details.
function displayProblem(solh)
// Fetching solution
LHY = sol.LHY;
t = sol.t;
L = LHY(1,:); H = LHY(2,:); Y = LHY(3,:);
// Evaluate initiation
I = LHY_Initiation(L,H,Y, param);
// maximum values for nice plot
[Lmax, Lindmax] = max(L); tL = t(Lindmax);
[Hmax, Hindmax] = max(H); tH = t(Hindmax);
[Ymax, Yindmax] = max(Y); tY = t(Yindmax);
[Imax, Iindmax] = max(I); tI = t(Iindmax);
// Text of the maximum point
Ltext = msprintf(' ( %4.1f , %7.0f)',tL,Lmax);
Htext = msprintf(' ( %4.1f , %7.0f)',tH,Hmax);
Ytext = msprintf(' ( %4.1f , %7.0f)',tY,Ymax);
Itext = msprintf(' ( %4.1f , %7.0f)',tI,Imax);
// Plotting of model data
delete(gca());
plot(t,[LHY;I]);
legend(['Light Users';'Heavy users';'Memory';'Initiation']);
// Vertical line
set(gca(),"auto_clear","off");
xpolys([tL,tH,tY,tI;tL,tH,tY,tI],[0,0,0,0;Lmax,Hmax,Ymax,Imax]);
// Text of maximum point
xstring(tL,Lmax,Ltext); xstring(tH,Hmax,Htext);
xstring(tY,Ymax,Ytext); xstring(tI,Imax,Itext);
xlabel('Year');
set(gca(),"auto_clear","on");
my_plot_axes = gca();
my_plot_axes.title.font_size = 5;
my_plot_axes.axes_bounds = [1/3,0,2/3,1];
my_plot_axes.title.text = "LHY solution";
endfunction
13. LHY Tutorial Gui www.openeering.com page 13/18
Step 16: Default initial plot
The last step for "LHY_Gui" is to compute the solution with the default
data and to re-draw the window.
// Compute solution
sol = solvingProblem(param, sim);
// Redraw window
drawlater();
newaxes();
displayProblem(sol);
drawnow();
14. LHY Tutorial Gui www.openeering.com page 14/18
Step 17: Linking the computational function to the button
The "syscompute" function is associated to the “Compute button” (see
step 13) and performs the following steps:
it retrieves data from the object framework: this process is done
by the function "findobj" that searches from all graphical objects
those having the prefixed target tag;
it evaluates the available data in the field converting these data
from string into real using the function "evstr";
it performs the simulation with the "solvingProblem" function;
it redraws the window.
function syscompute
// retrive data
param = [];
tau = findobj("tag", "Tau"); param.tau = evstr(tau.string);
s = findobj("tag", "s"); param.s = evstr(s.string);
q = findobj("tag", "q"); param.q = evstr(q.string);
smax = findobj("tag", "smax"); param.smax =
evstr(smax.string);
a = findobj("tag", "a"); param.a = evstr(a.string);
b = findobj("tag", "b"); param.b = evstr(b.string);
g = findobj("tag", "g"); param.g = evstr(g.string);
delta = findobj("tag", "delta"); param.delta =
evstr(delta.string);
sim = [];
Tbegin = findobj("tag", "Tbegin");sim.Tbegin =
evstr(Tbegin.string);
Tend = findobj("tag", "Tend"); sim.Tend = evstr(Tend.string);
Tstep = findobj("tag", "Tstep"); sim.Tstep =
evstr(Tstep.string);
L0 = findobj("tag", "L0"); sim.L0 = evstr(L0.string);
H0 = findobj("tag", "H0"); sim.H0 = evstr(H0.string);
Y0 = findobj("tag", "Y0"); sim.Y0 = evstr(Y0.string);
// Compute solution
sol = solvingProblem(param, sim);
// Redraw window
drawlater();
my_plot_axes = gca();
my_plot_axes.title.text = "LHY solution";
newaxes();
displayProblem(sol);
drawnow();
endfunction
15. LHY Tutorial Gui www.openeering.com page 15/18
Step 18: Running and testing #1
Change the Scilab working directory to the current project working
directory and run the command exec('LHY_MainGui.sce',-1).
This command runs the main program and plots a chart similar to the one
shown on the right.
Step 19: Running and testing #2
Since we have used the function "evstr" it is possible to insert
expression in the input masks and see, in an easy way, the effects of
parameters changing in the solution.
For example, on the right we have reported the simulation where the
parameters b 0.024 3.2 and δ 0.291 exp 3.2 .
16. LHY Tutorial Gui www.openeering.com page 16/18
Step 20: Exercise #1
Try to modify the program adding the following feature: Every time the
“compute button” is pressed the program check if the LHY parameters are
changed with respect to the default values and if a parameter is changed
then the associated input mask is colored using the orange color as
depicted in the figure.
Step 20: Exercise #1 (Hints)
Some hints:
copy the mlist data "param" and "sim" into a global data structure
and save the name of their fields;
add a "updatedFields" function into the "syscompute"
function;
write the "updatedFields" function.
// global default data
global gparam gsim pf sf;
gparam = param;
gsim = sim;
// param and sim fields
pf = fieldnames(gparam); // param fields
sf = fieldnames(gsim); // sim fields
// Update fields
updateFields(param, sim);
17. LHY Tutorial Gui www.openeering.com page 17/18
function updateFields(param, sim)
global gparam gsim pf sf
// Loop over gparam/param elements
for i=1:size(pf,1)
// Get current field
cf = pf(i);
// check if they are different
checkequal = 0;
if(abs(gparam(cf)-param(cf))<= 1e-12) then
checkequal = 1;
end
// Find object
obj = findobj("tag", cf);
if(isempty(obj)) then
// object not found, skip, some problems?
continue;
end
// Colorize
if(~checkequal) then
// Object is modified: use new color
obj.BackgroundColor = [0.98 0.83 0.71];
else
// Object is not modified: use default color
obj.BackgroundColor = [.9 .9 .9];
end
end
// The same code for the field gsim/sim
endfunction
Step 21: Concluding remarks and References
In this tutorial we have shown how a GUI can be developed for the LHY
model.
On the right-hand column you may find a list of references for further
studies.
1. Scilab Web Page: Available: www.scilab.org.
2. Openeering: www.openeering.com.
18. LHY Tutorial Gui www.openeering.com page 18/18
Step 22: Software content
To report a bug or suggest some improvement please contact Openeering
team at the web site www.openeering.com.
Thank you for your attention,
Manolo Venturin
-------------------
GUI MODEL IN SCILAB
-------------------
----------------
Directory: model
----------------
LHY_Color_Gui.sci : GUI for the LHY model (ex. 1)
LHY_Gui.sci : GUI for the LHY model
LHY_Initiation.sci : Initiation function
LHY_System.sci : LHY system
--------------
Main directory
--------------
LHY_MainGui.sce : Main console GUI program
LHY_MainGuiColor.sce : Solution of the exercise
license.txt : The license file